繁体   English   中英

Angular UI Router:默认嵌套视图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM