javascript - 如何仅使用一个 <a> 标签编写这个 Angular HTML?

标签 javascript angularjs

    <ul>
        <li ng-repeat="channel in Board.Channels">
            <a ng-if="channel.key == ''" ng-href="/{{Board.type}}/{{Board.id}}/{{Board.key}}">{{channel.title}}</a>
            <a ng-if="channel.key != ''" ng-href="/{{Board.type}}/{{Board.id}}/{{Board.key}}?channel={{channel.key}}">{{channel.title}}</a>
        </li>
    </ul>

两个链接之间的唯一区别是一个有查询参数,另一个没有。

有没有一种方法可以在不使用两个 <a ng-if=""> 的情况下编写此内容条件标签?

最佳答案

Angular 绑定(bind) {{}} 可以包含代码或作用域变量。在这种情况下,您可以使用 Angular 尴尬的三元运算符进行绑定(bind): {{boolean && ifTrueValue || ifFalseValue}} 您可以将其解读为类似于 (boolean) 吗? ifTrueValue : ifFalseValue

<ul>
    <li ng-repeat="channel in Board.Channels">
        <a ng-href="/{{Board.type}}/{{Board.id}}/{{Board.key}}{{(channel.key == '') && ''|| '?channel='+ channel.key}}">{{channel.title}}<span class="cgCount">{{channel.count}}</span></a>
    </li>
</ul>

关于javascript - 如何仅使用一个 <a> 标签编写这个 Angular HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23231564/

相关文章:

javascript - Bulma:位于页面顶部时导航栏顶部的横幅

javascript - 使用 HTML5 进行打印设计

javascript - Node.js 中的异步代码和循环?

javascript - 如何使用 angularfire 集合在 firebase 中显示数据?

javascript - (Angular + Bootstrap)如何阻止两个日期选择器被同一按钮打开

javascript - AngularJS 访问 JSON array[n].property 数据

javascript - 从输入文本中获取属性值

javascript - Uncaught Error : [$injector:modulerr] when using ui. 路由器

javascript - AngularJS 在事件处理程序(Jasmine)之后使用异步请求测试 Controller

javascript - 如何拦截不同JS库发出的所有AJAX请求