gpt4 book ai didi

angularjs - 如何在 angular-ui-router 中的 $state.go() 中传递自定义数据?

转载 作者:行者123 更新时间:2023-12-03 12:22:29 29 4
gpt4 key购买 nike

我想通过 $state.go() 将自定义对象传递到另一个状态在 UI 路由器中。

var obj = {
a: 1,
b: 2,
fun: function() {
console.log('fun');
}
}
$state.go('users', obj);

但我需要运行 fun()在目标状态,所以我不能在 URL 参数中传递这个对象。在目标 Controller 中,我尝试获取 obj 的值通过 $stateParams但得到了空对象 {} :
function UserCtrl($stateParams) {
console.log($stateParams); // will be empty
}

那么如何通过 obj正确地陈述“用户”?

最佳答案

使用如下参数定义状态:

$stateProvider
.state('user', {
url: '/user',
params: {
obj: null
},
templateUrl: 'templates/user.html',
controller: 'UserCont'
})

当像这样调用传递参数时:
$state.go('user',{obj: myobj});

在 Controller UserCon 接收参数,如:
$state.params.obj

用户 $state 是 Controller 中定义的参数之一
function UserCon($scope, $http, $state){

关于angularjs - 如何在 angular-ui-router 中的 $state.go() 中传递自定义数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30165272/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com