我可以在类属性之外使用具有angularjs的三元运算符吗?

时间:2015-04-22 19:46:48

标签: javascript angularjs interpolation

我正在使用AngularJS循环遍历json对象,并且无法处理空值。

我是Angular的新手。

<a href="#" data-mycustom="{{product.related}}">...</a>

如果相关为null:

{
    "related":null
}

我想在其位置加上“-1”:

<a href="#" data-mycustom="-1">...</a>

尝试过三元运算符但它没有评估......它只是将它显示为纯文本。

4 个答案:

答案 0 :(得分:3)

在评估ng-attr插值指令后,您可以使用{{}}添加自定义属性

<强>标记

<a href="#" ng-attr-data-mycustom="{{product.related || '-1' }}">...</a>

答案 1 :(得分:2)

为了完整起见,这是OP原始问题的答案(&#34;你如何在指令中使用三元组&#34;):

整个三元语句周围添加{{}},而不仅仅是变量。例如,这个

<a href="#" data-mycustom="{{product.related}} ? product.related : '-1'">...</a>

应该是

<a href="#" data-mycustom="{{product.related ? product.related : '-1'}}">...</a>

否则,Angular不会解析它 - 您将获得product.related的值,然后是文字? product.related : '-1'

答案 2 :(得分:0)

使用或运营商。这段代码会有所帮助:

<a href="#" data-mycustom="{{product.related || -1}}">...</a>

答案 3 :(得分:0)

请使用此

<a href="#" ng-attr-data-mycustom="{{product.related || '-1' }}">...</a>

类似于&#34;尝试使用product.related(如果存在)。如果没有,请使用-1 insted&#34;