使用ui-sref进行站点导航,如何在不可用时删除ui-sref属性

时间:2015-02-17 18:25:04

标签: angularjs routing angular-ui-router angularjs-routing ui-sref

我使用ng-repeat设置如下导航,效果非常好

<a ui-sref="{{link.Route}}" ng-click="clickLink(link)">
    <span class="title"> {{link.Text}} </span><span class="selected"></span>
</a>

但是,我的导航项经常有子链接,这意味着父链接实际上不是导航链接,它只是用于展开和查看子链接。但有时它是一个链接,并且没有要显示的子链接。

问题出在那些特殊情况下,当没有可用的状态时,我需要一起删除ui-sref,因为根本不应该有链接。拥有它有'错误:无效状态参考'''

如果状态不可用,如何删除ui-sref?

2 个答案:

答案 0 :(得分:16)

您可以将{{}}与表达式

一起使用

<强>标记

ui-sref="{{expression ? '.childState' : '.'}}"

.将创建自己的状态路由,因此在点击它时,它将不会重定向到哪里。

希望这可以帮助你,谢谢。

答案 1 :(得分:11)

有条件地创建ui-sref属性

<a ng-attr-ui-sref="{{ link.Route ? link.Route : false }}">
    ...
</a>