加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 07:41:19 所属栏目:安全 来源:网络整理
导读:我想通过UI-Router中的$state.go()传递一个自定义对象到另一个状态. var obj = { a: 1,b: 2,fun: function() { console.log('fun'); }}$state.go('users',obj); 但是我需要在目标状态下运行fun(),所以我不能在URL参数中传递这个对象.在目标控制器中,我试图通
我想通过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){

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读