AngularJS,带有ui路由器和第一次请求时的附加状态
我正在使用ui路由器编写AngularJS应用程序。状态“home”和“book”被加载到(parent)-ui视图元素中 我的路线设置如下所示:AngularJS,带有ui路由器和第一次请求时的附加状态,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在使用ui路由器编写AngularJS应用程序。状态“home”和“book”被加载到(parent)-ui视图元素中 我的路线设置如下所示: .config(function ($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise("/home"); $stateProvider .state('home', { url: '/home',
.config(function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/home");
$stateProvider
.state('home', {
url: '/home',
templateUrl: '/home2/app'
})
.state('book', {
url: '/book',
templateUrl: '/book/index'
})
.state('book.overview', {
url: '/overview',
templateUrl: '/book/overview'
})
.state('book.edit', {
url: '/edit/:bookid',
templateUrl: '/book/detail',
controller: 'bookeditcontroller'
})
.state('book.create', {
url: '/create',
templateUrl: '/book/detail',
controller: 'bookeditcontroller'
});
});
当用户跳转“book”状态时(通过a href),将成功加载并显示来自“/book/index”的模板。但是在第一个请求中,我还想从“/book/overview”加载模板,并将其显示在子ui视图中
我已经阅读了下面关于默认状态的主题
但这并不是我想要的行为。是否有一种方法可以告诉ui路由器何时加载了父状态“book”,同时也将“book.overview”加载到其(子)ui视图中
谢谢你的帮助 我想说你需要 这使我们能够在一种状态下思考-多种观点 州会是这样的
.state('book', {
url: '/book',
views : {
'' : { templateUrl: '/book/index', },
'@book': {templateUrl: '/book/overview' },
}
})
这样,我们将把两个视图放在一个状态中
- 第一个将被注入index.html/root
- 第二个将放在
模板url:'/book/index',
布局创建了一个plunker,它确实显示了一点。包含多个视图的状态的代码段是:
我猜直接打开子状态也会打开父状态…是的!正是我想要的:-)谢谢!太好了享受酷炫的ui路由器
$stateProvider
.state('index', {
url: '/',
views: {
'@' : {
templateUrl: 'layout.html',
controller: 'IndexCtrl'
},
'top@index' : { templateUrl: 'tpl.top.html',},
'left@index' : { templateUrl: 'tpl.left.html',},
'main@index' : { templateUrl: 'tpl.main.html',},
},
})