AngularJS 尝试使用外部模块的嵌套状态

AngularJS trying to use nested state from external module

我在尝试创建外部模块时遇到了一些错误,我认为我在 nested.js

中的嵌套状态有问题

错误 said:Error:状态 'admin.quyensudung' 有一个 'views' 对象。它也不能在州一级有 "view properties"。将以下属性移动到视图中(在 'views' 对象中):controller

请帮我修复这个错误并告诉我我得到这个错误的原因太感谢了

app.js:

var app = angular.module('app', [
  'ui.router',
  'ngCookies',
  'quyensudung',
])
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/admin');

$stateProvider

    .state('admin', {
        url: '/admin',
        templateUrl: 'admin/home/index.html'
}])

nested.js

var quyensudung = angular.module('quyensudung', [])

.config(['$stateProvider', function($stateProvider){
    $stateProvider
        .state('admin.quyensudung', {
            url: '/quyensudung',
            views: {
                "container@": {
                    templateUrl: 'admin/quyensudung/index.html'
                },
            },
            controller: 'quyensudungController',        
        })
}])

Error: State 'admin.quyensudung' has a 'views' object. It cannot also have "view properties" at the state level. Move the following properties into a view

只需将controller: 'quyensudungController',移动到views->"container@"

改为:

.state('admin.quyensudung', {
        url: '/quyensudung',
        views: {
            "container@": {
                templateUrl: 'admin/quyensudung/index.html'
            },
        },
        controller: 'quyensudungController',        
    })

应该是:

.state('admin.quyensudung', {
        url: '/quyensudung',
        views: {
            "container@": {
                templateUrl: 'admin/quyensudung/index.html',
                controller: 'quyensudungController'
            },
        }     
    })

参考:Nested-States-and-Nested-Views