AngularJS中模板中的内联逻辑

时间:2013-03-14 12:14:32

标签: templates angularjs

有没有办法在AngularJS的模板中编写内联逻辑。

我想做的是这样的事情:

<div ng-repeat="item in items">
    {{item.isValid ? 'Valid item' : 'Invalid Item'}}
</div>

3 个答案:

答案 0 :(得分:72)

您可以使用&&||,这最终会像三元运营商一样工作。

{{item.isValid && 'Valid' || 'Invalid' }}

编辑:Angular在1.1.5中引入了三元运算符:

{{item.isValid ? 'Valid' : 'Invalid' }}

答案 1 :(得分:0)

您可以插入带有ng-show的范围来显示条件文本

示例

<div ng-repeat="item in items">
    <span ng-show="item.isValid">
           Valid item
    </span>
    <span ng-show="!item.isValid">
           Invalid item
    </span> 
</div>

答案 2 :(得分:0)

您不能在角度表达式中使用条件。而且,如果您的div内容很轻(只是文本),您可能想要使用ng-bind(它还可以避免使用额外的span元素):

<div ng-repeat="item in items" ng-bind="{true: 'Valid item', false: 'Invalid item'}[item.isValid]"></div>