Angular Resolve Bindings始终未定义

时间:2017-04-06 19:48:13

标签: angularjs angular-ui-router

我只是放弃了解我在这里做错了什么......无论我尝试什么,我的组件绑定总是未定义的,即使我可以清楚地看到数据。

配置:

.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 ......有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不得不花一些时间远离这个,但经过长时间的喘息,我发现了我的问题。在这个项目中,我使用的是旧版本的ui.router(0.2.18)。我所在的项目中有很多项目使用此版本。当我转移到AngularJs 1.5.x时,我正在使用更新的版本进行测试,但是当我尝试将新的代码迁移到新项目时,我仍然将旧版本作为依赖项引用。我现在使用0.4.2,这解决了我的问题。感谢。