角UI状态 - 多观点没有看到我的决心数据 [英] Angular-ui State - Multiple views not seeing my resolve data
问题描述
由于某些原因,我resolvedData不是由控制器使用多个命名视图(角的UI用户界面路由器)时看到。有没有人遇到这个问题?
For some reason, my resolvedData is not seeing by controllers when using multiple named views (angular-ui ui-router). Has anyone faced this issue?
$stateProvider
.state('page',{
abstract: true,
templateUrl: ...,
controller: abstractController
})
.state('page.index',
url: '/page',
resolve : {
resolvedData: function(CONSTANTS){ return CONSTANTS.data;}
},
views: {
home: {templateUrl: ...,
controller: function(resolvedData){
....
}
},
list: {templateUrl: ...,
controller: function(resolvedData){
....
}
},
edit: {templateUrl: ...,
controller: function(resolvedData){
....
}
}
}
)
它给我的错误是:错误:[$喷油器:unpr]未知提供商:resolvedDataProvider< - resolvedData。它是某种有趣的,因为它发生只在一个视图中,但不是在别人。
The error it gives me is: Error: [$injector:unpr] Unknown provider: resolvedDataProvider <- resolvedData. It is somehow interesting because it happens only in one of the views but not in the others.
推荐答案
我创建的小的工作示例,显示出你的东西应该工作
I created small working example, showing that your stuff should work
这将是常量:
.factory('CONSTANTS', function() {
return { data: { name : "some name", number : "some number"} };
})
和相同的(只是明确注明DI)状态DEF:
And the same (just explicitly annotated DI) state def:
// States
$stateProvider
.state('page', {
abstract: true,
template: '<div>'
+ '<div ui-view="home"></div>'
+ '<div ui-view="list"></div></div>',
controller: 'abstractController'
})
.state('page.index', {
url: '/page',
resolve: {
resolvedData: ['CONSTANTS',
function(CONSTANTS) {
return CONSTANTS.data;
}
]
},
views: {
home: {
templateUrl: 'tpl.html',
controller: ['resolvedData','$scope',
function(resolvedData, $scope) {
console.log(resolvedData);
$scope.resolvedData = resolvedData;
}
],
},
list: {
template: '<div>list view</div>'
}
}
})
因此,决心上面所用的草案工作。这是正确的方式...的决心功能提供了一些服务......并返回其财产数据
。
检查所有 rel=\"nofollow\">
Check that all here
这篇关于角UI状态 - 多观点没有看到我的决心数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!