我想实现第一个视图是基于一些子视图而主视图是抽象的 - 只重定向到第一个子视图。我实现了两个用于导航的导航栏。一个用于导航普通视图,另一个用于仅导航主视图。我想知道当其中一个家庭子视图处于活动状态时,如何设置主导航栏在主页上处于活动状态。
顶部栏导航栏的代码。当家庭的任何子视图处于活动状态时,主页按钮应处于活动状态(home.a,home.b)。目前Home永远不会活跃。
dozer
每当我在某些子视图上正确按钮处于活动状态时,子视图导航栏的工作正常
<ul class="nav navbar-nav">
<li ui-sref-active="active"><a ui-sref="home">Home</a></li> //here i can use home.a but when i will navigate to home.b it ll be inactive
<li ui-sref-active="active"><a ui-sref="about">About</a></li>
<li ui-sref-active="active"><a ui-sref="contact">Contact</a></li>
</ul>
此路线已关闭,当子viev活动时选择主导航栏,但是当我将主视图更改为联系时,我无法返回主页,因为它是抽象视图:
<ul class="nav nav-pills nav-stacked">
<li ui-sref-active="active"><a ui-sref="home.a">Wspolne</a></li>
<li ui-sref-active="active"><a ui-sref="home.b">Moje</a></li>
</ul>
答案 0 :(得分:0)
解决方案是更改活动条件以引用状态对象,并将ui-sref更改为子路径的href:
<li ng-class="{active: ctrl.$state.includes('home')}"><a href="/">Home</a></li>
这很有效但不优雅。有更好的解决方案吗?
答案 1 :(得分:0)
嗨,也许迟到但试试这个;)
<div ui-sref-active="{'active': 'admin.**'}">
<a ui-sref-active="active" ui-sref="admin.roles">Roles</a>
</div>