我将一个parms对象OBJ从一个ui-serf详细信息传递给一个stateDetail,转到另一个状态createStep1,我在两个参数中设置parms OBJ和我在app.js中运行的函数i再次将params用于如下:
myApp.run(function($rootScope, $state) {
$rootScope.$on('$stateChangeStart', function(event, toState,toParams) {
if(toState.name =='stateDetail'){
console.log("toParams "+toParams);
$state.go('createStep1',{OBJ:toParams});
event.preventDefault();
}
}}
在createStep1的控制器中,param OBJ未定义但在on方法中它位于toParams。
以下是各州:
state('stateDetail', {
url: '/stateDetail',
views: {
'': {
templateUrl: 'stateDetail.html',
controller: 'DetailsController'
},
},
params: {
OBJ: null
}
})
state('createStep1', {
url: '/createStep1',
views: {
'': {
templateUrl: 'createStep1.html',
controller: 'createStep1Controller'
},
},
params: {
OBJ: null
}
})
在html页面中:
<a ui-sref="stateDetail({OBJ: obj})" >{{obj.id}}</a>
我知道如何解决这个问题?
答案 0 :(得分:0)
它必须是$ state.go('createStep1',{OBJ:toParams.OBJ});