我在传递参数时遇到问题,该参数不是网址中的参数。
我在点击事件上基本上有以下内容
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”也是空的。
我在resole中放了一个断点,info为null。
我尝试删除上面的params:{}
,但仍然没有。
任何想法我做错了什么?
答案 0 :(得分:6)
代码应该正常工作,检查两次呼叫方。这些链接将按预期执行:
<a ui-sref="home.showinfo({id:1, info:'hi'})">
<a ui-sref="home.showinfo({id:2, info:'bye'})">
上面有一个州:
.state('home.showinfo', {
url: 'info/info/:id',
templateUrl: 'showinfo.tpl.html',
resolve: {
info: function($stateParams){
return $stateParams.info;
}
},
params: {
info: null
}
})
检查here