Angular JS 1.3+ 一次性绑定,用于三元条件的 ng-bind



如果我需要在 data-ng-bind 指令中对三元条件使用一次性绑定,这是否正确?

<span data-ng-bind="::model.boolean ? 'json.item.value1' : 'json.item.value2'"></span>

<span data-ng-bind="::(model.boolean ? 'json.item.value1' : 'json.item.value2')"></span>

是的。整个表达式,无论它是什么,都将被解析和读取一次。

内部将发生的情况相当于:

// If not bound
value = $parse("model.boolean ? 'json.item.value1' : 'json.item.value2'")(scope)

注意:如果model.boolean为 true,您实际上将看到字符串"json.item.value1",而不是它包含的实际值。如果要评估它,则需要删除单引号'使其变为:

<span data-ng-bind="::model.boolean ? json.item.value1 : json.item.value2"></span>

最新更新