angular – 属性绑定与属性插值

前端之家收集整理的这篇文章主要介绍了angular – 属性绑定与属性插值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我读过一篇关于属性属性绑定之间差异的文章.根据我的理解,大多数时候,Angular2更喜欢属性绑定,
因为在每次数据更改后,DOM都会更新. (如果我弄错了,请纠正我).

我有一个自定义组件,并从父组件中使用它.在其中,我有一个名为truevalue的@Input.当我通过属性绑定从父级启动truevalue时,有时它不会改变.我使用以下代码

<my-checkBox [(ngModel)]="chkItems" [disabled]="!editMode" [trueValue]="Y"></my-checkBox>

如果我将true或“1”发送到trueValue它可以工作,但是如果我发送“Y”或“YES”,它就不起作用.所以我被迫使用属性绑定.我不知道是什么问题.

我已将其更改为以下内容

<my-checkBox [(ngModel)]="chkItems" [disabled]="!editMode" trueValue="Y"></my-checkBox>

提前致谢

属性绑定就好
[trueValue]="..."

计算表达式“…”并分配值

“true”计算值true
“Y”未知. TypeScript中没有内部Y值,组件类实例中没有属性,这是模板绑定的范围.
在这种情况下,你会想要

[trueValue]="'Y'"

注意使Y成为字符串的附加引号.

普通属性也分配给输入

trueValue="Y"

是没有任何Angular2绑定的纯HTML,属性值总是字符串.因此,这将分配字符串Y.

另一种方法是字符串插值

trueValue="{{true}}"

将赋值“true”(作为字符串),因为带有{{…}}的表达式将被计算,然后在传递给输入之前转换为字符串.
这不能用于绑定除字符串之外的其他值.

要显式绑定到属性而不是您可以使用的属性
(除了trueValue =“Y”,它创建一个属性但不做任何评估)

[attr.trueValue]="'Y'"

要么

attr.trueValue="{{'Y'}}"

如果要使用trueValue属性来使用CSS选择器来处理元素,则属性绑定很有用.

原文链接:https://www.f2er.com/angularjs/143561.html

猜你在找的Angularjs相关文章