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

前端之家收集整理的这篇文章主要介绍了angularjs – 如何在angular-ui-router中的$state.go()中传递自定义数据?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过UI-Router中的$state.go()传递一个自定义对象到另一个状态.
var obj = {
    a: 1,b: 2,fun: function() {
        console.log('fun');
    }
}
$state.go('users',obj);

但是我需要在目标状态下运行fun(),所以我不能在URL参数中传递这个对象.在目标控制器中,我试图通过$stateParams获取obj的值,但是获得空对象{}:

function UserCtrl($stateParams) {
    conrole.log($stateParams); // empty
}

那么如何将obj传递给状态“用户”呢?

使用如下参数定义状态:
$stateProvider
.state('user',{
   url: '/user',params: {
     obj: null
   },templateUrl: 'templates/user.html',controller: 'UserCont'
})

当这样调用pass参数时:

$state.go('user',{obj: myobj});

在控制器UserCon接收参数如下:

$state.params.obj

user $state是控制器中定义的参数之一

function UserCon($scope,$http,$state){
原文链接:https://www.f2er.com/angularjs/142795.html

猜你在找的Angularjs相关文章