子状态不从父状态继承已解析的依赖关系

时间:2017-12-03 08:27:12

标签: javascript angularjs angular-ui-router

这是我的代码

$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-controller为这个admin_dash.html视图设置了很多控制器。在任何这些控制器(孩子)中我都无法注入频道'这是父状态的已解析依赖关系,应该继承该状态。

1 个答案:

答案 0 :(得分:1)

任何旧的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;
        }
    })