[英]Angular UI Router: Default nested view
我有以下几点:
.state('account', {
abstract: true,
url: '/account',
templateUrl: 'pages/templates/account.html',
controller: 'account'
})
.state('account.settings', {
url: '/settings',
templateUrl: 'pages/templates/account.settings.html',
controller: 'account.settings'
})
.state('account.user', {
url: '/user',
templateUrl: 'pages/templates/account.user.html',
controller: 'account.user'
})
我正在尝试这样做,所以如果我去:
/account => it goes to /account/settings
/account/setting => goes to /account/settings
/account/user => goes to /account/user
基本上将account.settings设为默认值。
有没有办法做到这一点?
我要这样做的最大原因是因为以下原因(也许有人对解决方法有更好的建议)
我有这样的链接:
<a ui-sref="account.settings" ui-sref-active="active">Account<a>
我希望它具有active
类,而不管嵌套视图是什么(设置或用户)。 但是我希望此链接始终将用户发送到account.settings
。
如果有人可以帮助我,将不胜感激。
尝试:
.state('account', {
abstract: true,
url: '/account',
templateUrl: 'pages/templates/account.html',
controller: 'account'
})
.state('account.settings', {
url: '',
templateUrl: 'pages/templates/account.settings.html',
controller: 'account.settings'
})
.state('account.settings2', {
url: '/settings',
templateUrl: 'pages/templates/account.settings.html',
controller: 'account.settings'
})
.state('account.user', {
url: '/user',
templateUrl: 'pages/templates/account.user.html',
controller: 'account.user'
})
或从抽象重定向到具体状态...代码段删除了指定的“帐户”控制器引用,但是如果需要,可以将代码段中的代码添加到控制器中:
.state('account', {
abstract: true,
url: '/account',
templateUrl: 'pages/templates/account.html',
controller: ['$scope', '$state',
function( $scope, $state) {
$state.go('account.settings');
}],
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.