我想通过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传递给状态“用户”呢?
使用如下参数定义状态:
原文链接:https://www.f2er.com/angularjs/142795.html$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){