Javascript angularJs stateprovider子州不';t加载控制器和模板

Javascript angularJs stateprovider子州不';t加载控制器和模板,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我创建了这个小应用程序,其中我有以下状态: restricted.route.js $stateProvider.state('restricted', { url: '/restricted', templateUrl: 'app/restricted/restricted.html', abstract: true }); pages.route.js $stateProvider.state('restricted.pages', { url: '/pages', t

我创建了这个小应用程序,其中我有以下状态:

restricted.route.js

$stateProvider.state('restricted', {
  url: '/restricted',
  templateUrl: 'app/restricted/restricted.html',
  abstract: true
});
pages.route.js

$stateProvider.state('restricted.pages', {
  url: '/pages',
  templateUrl: 'app/restricted/pages/pages.html',
  controller: 'pagesController',
  controllerAs: 'vmPages'
});
detail.route.js

$stateProvider.state('restricted.pages.detail', {
    url: '/:id',
    controller: 'pageDetailController',
    controllerAs: 'vmDetail',
    templateUrl: 'app/restricted/pages/detail/detail.html'
});
app.run.js

$urlRouterProvider.otherwise('/restricted/dashboard');
当我加载URL#/restricted/页面时,一切正常。控制器已加载并显示视图。 加载URL#/restricted/pages/1时,将加载并执行状态为“restricted.pages”的控制器和视图。 该状态被清楚地识别,因为$urlRouterProvider.OR未执行

有人知道我做错了什么吗


谢谢

我认为您的问题在于HTML,嵌套状态应该加载在父元素的ui视图标记中。

是否有意将细节作为页面(列表?)状态的子状态?如果是这样,您需要将
放入名为
app/restricted/pages/pages.html的模板中


如果这不是您的意图,我建议将详细信息状态重命名为类似于
restricted.pages\u detail
,因为每个点在状态定义中都引入了嵌套级别。

太愚蠢了!这不是我的本意。将状态更改为restricted.pages\u detail解决了所有问题。。。谢谢