AngularJS - 如何通过车把三元操作添加HTML元素?

时间:2015-12-30 14:52:39

标签: javascript jquery html angularjs

注意:由"把手"我不是指Handlebars.js,我只是指双花括号。

我有一个表,在其中一个列中我想显示数据,另外一个HTML元素取决于三元操作的结果。

这是我的代码

<td>{{item.ProjectNumber}}{{item.DateSubmitted.toString().length > 0 ? null : <span class="error">Incomplete</span>}}</td>

如果我没有尝试将其作为一个元素(而只是显示&#39; Incomplete&#39;),它可以正常工作。但是当我尝试添加该范围时,整段代码都会添加到td。

那么如何在把手内部创建HTML元素呢?

2 个答案:

答案 0 :(得分:2)

只需制作元素并可选择使用ng-show隐藏它。

<span class="error" ng-show="item.DateSubmitted.toString()">Incomplete</span>

我通常会保留使用花括号来提供数据,而不是做出决定。如果您绝对必须创建内联元素,那么您需要告诉您的应用程序信任HTML,如in this SE question所述。

答案 1 :(得分:0)

好的,所以我提出了一种不同的做法。

<td>{{factsheet.ProjectNumber}}<span class="{{factsheet.DateSubmitted.toString().length > 0 ? 'hide-error' : 'error'}}">Incomplete</span></td>

我刚刚制作了span并将三元逻辑放在class .hide-errordisplay:none

的class属性中