我有这个模板
<div class="row">
<div>
<div >
<a ui-sref-active="active" ui-sref="main.step1">
<span>1</span>
</a>
<a ui-sref-active="active" ui-sref="main.step2">
<span>2</span>
</a>
<a ui-sref-active="active" ui-sref="main.step3">
<span>3</span>
</a>
</div>
</div>
</div>
<div id="form-views" ui-view>
</div>
我要求用户不能通过点击网址在这些状态之间导航,他应该使用特定模板中的按钮在状态之间导航。
我想知道如何在没有ui-sref-active
指令的情况下使用ui-sref
?
答案 0 :(得分:4)
尝试这样的事情:
<ul class="nav navbar-nav">
<li class="icon-border">
<a ng-class="{ active: isActiveMainBar('main.step1')}" ui-sref="main.step1">A
</a>
</li>
<li class="icon-border">
<a ng-class="{ active: isActiveMainBar('main.step2')}" ui-sref="main.step2">B
</a>
</li>
<li class="icon-border">
<a ng-class="{ active: isActiveMainBar('main.step3')}" ui-sref="main.step3">C
</a>
</li>
</ul>
在controller
:
$scope.isActiveMainBar = function(tab) {
var path = $location.path();
if (path.indexOf(tab) !== -1) {
return true;
} else {
return false;
}
};
希望这会对你有所帮助。
答案 1 :(得分:1)
我想出了这个功能:
function isStateActive(stateName) {
return $state.current.name === stateName;
}
并像这样使用它:
<a ng-class="{'active': isStateActive('main.step1')}"> <span>1</span>
</a>