Javascript AngularJS UI路由器:抽象状态+;儿童国家不起作用
我试图使用抽象状态,但无法加载子对象 我的应用程序设置如下:Javascript AngularJS UI路由器:抽象状态+;儿童国家不起作用,javascript,angularjs,state,angular-ui-router,Javascript,Angularjs,State,Angular Ui Router,我试图使用抽象状态,但无法加载子对象 我的应用程序设置如下: angular .module('milordApp', [ 'ui.router', 'ngAnimate', 'ngCookies', 'ngMessages', 'ngResource', 'ngRoute', 'ngSanitize', 'ngTouch' ]) .run(function($rootScope) { $rootScope.$on('$r
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>",
})
.state('app'{
摘要:没错,
url:“/app”,
数据:{
requireLogin:对
}
//为子对象添加模板
模板:“”,
})
简单地说,每个州都需要注入到某个地方。如果我们不使用命名视图(甚至绝对命名),则预计:
每个子对象都被注入到其父目标的ui视图中
太好了,修好了。因此,在这种情况下,我可以在索引中定义多个div,并为它们使用不同的抽象状态。一个例子是在div中有一个特定图形的抽象状态,这个抽象状态可以根据勾选的复选框进行更改,这真的很神奇。可能会有很多州,很多孩子。关键是要为他们设定一个目标。或者使用UI路由器的其他功能。。。e、 g.绝对命名、命名视图等。。但是阅读维基并观察它;)希望它能帮上忙哦,天哪,如果我不是的话,我会嫁给你的。我一直在寻找这个问题,并把我的头发拔出来。@hogan,这太神奇了;)享受强大的UI路由器;)