AngularJS UI-Router:抽象状态+子状态不起作用
AngularJS UI-Router : Abstract state + child states not working
我尝试使用抽象状态,但无法加载子状态。
我的应用程序设置如下:
angular
.module('milordApp', [
'ui.router',
'ngAnimate',
'ngCookies',
'ngMessages',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch'
])
.run(function($rootScope) {
$rootScope.$on('$routeChangeStart', function(event, toState, toParams, fromState, fromParams) {
console.log(toState, toParams, fromState, fromParams);
});
})
.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise("/login");
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: 'LoginCtrl',
data: {
requireLogin: false
}
})
.state('app', {
abstract: true,
url: '/app',
data: {
requireLogin: true
}
})
.state('app.dashboard', {
url: '/dashboard',
templateUrl: 'views/dashboard.html',
controller: 'DashboardCtrl',
});
});
登录路由正常。然而,app或app.dashboard路由没有注册,因为我甚至无法从控制器中获取console.log。
需要注意的是index.html正确创建了导航
<ul class="nav navbar-nav">
<li><a ui-sref="login" href="#/login">Login</a></li>
<li><a ui-sref="app.dashboard" href="#/app/dashboard">Dashboard</a></li>
</ul>
如果抽象状态的代码片段是真实的(原样),则应该像这样修复这个问题:
.state('app', {
abstract: true,
url: '/app',
data: {
requireLogin: true
}
// add template for child
template: "<div ui-view></div>",
})
简单地说,每个状态都需要注入到某个地方。如果我们不使用命名视图(甚至不使用绝对命名),则期望:
每个子目标都被注入父目标
ui-view
相关文章:
- Highcharts:树映射选择状态不起作用
- Angularjs:ui路由嵌套状态下的绑定不起作用
- 引导导航活动状态不起作用
- Javascript:保存和恢复样式状态在IE中不起作用
- 反应.js - 处于异步数据状态的深层对象不起作用
- FB.getLogin状态不起作用,如果用户处于非活动状态
- 自动对焦属性在 Firefox 中因显示状态更改而不起作用
- 推送状态不起作用
- 登录状态指示灯功能不起作用
- UI路由器状态的多个视图不起作用.未报告错误
- Angular ui路由器在服务中保存到状态名称不起作用
- 当第一个选项卡处于活动状态时,第二个选项卡不处于活动状态;不起作用
- 未知错误如果状态dosen'不起作用
- Javascript窗口重定向在chrome中不起作用((取消)-状态)
- 角度 UI 路由器 - 状态查询字符串参数不起作用
- 选项卡和侧边菜单-状态链接不起作用
- AngularJS UI-Router:抽象状态+子状态不起作用
- Angular UI路由器使用go函数在状态之间传递数据不起作用
- AngularJS按钮加载状态不起作用
- 为什么我的设置状态不起作用