我只是放弃了解我在这里做错了什么......无论我尝试什么,我的组件绑定总是未定义的,即使我可以清楚地看到数据。
配置:
.state('review', {
resolve: {
claims: function($stateParams, Review) {
return Review.getClaims(JSON.parse($stateParams.claims));
}
},
template: '<review-component claims="$resolve.claims"></review-component>',
url: '/review/{claims}'
});
服务:
this.getClaims = function(claimIds) {
return $http.post(path + '/Overpayment/GetClaims', claimIds).then(
function(response) {
return response.data;
}
)
组件:
.component('reviewComponent', {
bindings: {
claims: '<'
},
controller: function(Review, $stateParams) {
var vm = this;
this.$onInit = function() {
console.log(vm.claims);
}
}
}
我在控制器内部有完全相同的http调用,并按预期返回数据。然而,当我将它移动到决心时,它总是返回undefined ......有什么想法吗?
答案 0 :(得分:0)
我不得不花一些时间远离这个,但经过长时间的喘息,我发现了我的问题。在这个项目中,我使用的是旧版本的ui.router(0.2.18)。我所在的项目中有很多项目使用此版本。当我转移到AngularJs 1.5.x时,我正在使用更新的版本进行测试,但是当我尝试将新的代码迁移到新项目时,我仍然将旧版本作为依赖项引用。我现在使用0.4.2,这解决了我的问题。感谢。