子状态不是从父状态
问题描述:
继承解析的依赖这里是我的代码子状态不是从父状态
$stateProvider
.state('admin', {
abstract: true,
templateUrl: "views/common/content.html",
resolve: {
channel: function($stateParams){
return $stateParams.id
}
}
})
.state('admin.dash',{
url: "/dash",
templateUrl: "views/admin/admin_dash.html"
})
和我有使用NG-控制器此admin_dash.html鉴于许多控制器。并且在这些控制器(子)中的任何一个中,我都无法注入“通道”,这是应该继承的父状态已解决的依赖关系。
答
解决方案injectables将不可用于任何旧的ng-controller
,但仅限于指定给该状态的控制器。
E.g.
$stateProvider
.state('admin', {
abstract: true,
templateUrl: "views/common/content.html",
resolve: {
channel: function($stateParams){
return $stateParams.id
}
}
})
.state('admin.dash',{
url: "/dash",
templateUrl: "views/admin/admin_dash.html",
// Injectable here
controller: function(channel, $rootScope) {
console.log('Received channel from parent resolve:', channel);
// If need for ng-controller bound controllers...
$rootScope.channel = channel;
}
})
ui-router的最新版本,注入意味着'注入'父状态已解决的依赖关系到绑定到子状态的控制器,在这种情况下'通道' –