Angular JS 1.3+ 使用三元条件一次性绑定 ng-bind
Angular JS 1.3+ One time binding for ng-bind with a ternary condition
如果我需要对 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
为真,您实际上会看到字符串"json.item.value1"
,而不是它包含的实际值。如果你想评估它,你需要删除单引号 '
所以它变成:
<span data-ng-bind="::model.boolean ? json.item.value1 : json.item.value2"></span>
如果我需要对 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
为真,您实际上会看到字符串"json.item.value1"
,而不是它包含的实际值。如果你想评估它,你需要删除单引号 '
所以它变成:
<span data-ng-bind="::model.boolean ? json.item.value1 : json.item.value2"></span>