angularjs – ui-router:传入不在url中的param?

前端之家收集整理的这篇文章主要介绍了angularjs – ui-router:传入不在url中的param?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在传递一个不是URL中的参数的参数时遇到问题.

我在点击事件上基本上有以下内容

let stateParams = {
    id: event.info.id,info: event.info
};

this.$state.go('home.showinfo',stateParams);

我已经对stateParams进行了双重检查,其中包含id和info对象.

然后我对状态进行了以下设置

.state('home.showinfo',{
    url: 'info/info/:id',resolve: {
        info: function($stateParams){
            return $stateParams.info;
        }
    },params: {
        info: null
    }

在我的控制器中,我正在检查$stateparams的值,我看到id(也是URL包含ID),但info对象为null.它始终为空.我只是想能够在控制器中访问它. “this.info”也是null.

我在resole中放了一个断点,info为null.

我试过删除上面的参数:{}但仍然没有.

我有什么想法我做错了吗?

解决方法

a working plunker

代码应该正常工作,检查两次主叫方.这些链接将按预期执行:

<a ui-sref="home.showinfo({id:1,info:'hi'})">
<a ui-sref="home.showinfo({id:2,info:'bye'})">

上面有一个州:

.state('home.showinfo',templateUrl: 'showinfo.tpl.html',params: {
        info: null
    }
})

检查它here

猜你在找的Angularjs相关文章