改变AngularJS UI-Router中的导航状态

时间:2015-10-13 11:30:56

标签: javascript angularjs angular-ui-router

我设置了一个相对简单的UI-Router,除了改变状态的导航本身就是一个ui-view。

主要HTML:

<header class="container__header">
    <nav class="container__header__tabs" ui-view="nav"></nav>
</header>

导航HTML:

<ul>
    <li class="nav-link active"><a ui-sref="/">all funds</a></li>
    <li class="nav-link"><a ui-sref=".something">something</a></li>
</ul>

问题是.something链接无法在点击时更改状态视图。

我的AngularJS配置:

.state('home.something', {
        url: '/',
        views: {
            'nav': {templateUrl: 'templates/navs/explorer-nav.html'},
            'main': {templateUrl: 'templates/fund explorer/fund_explorer_all.html'}
        }       
});

这不会更改视图模板(尽管URL确实会更改)。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题在于<li class="nav-link"><a ui-sref=".something">something</a></li>

此处您使用的状态为.something,未在config中定义。

将其更改为

<li class="nav-link"><a ui-sref="home.something">something</a></li>

它应该是home.something,这意味着状态应该与config中定义的相同。

https://github.com/angular-ui/ui-router(检查 - 嵌套状态和视图)