首页 > 解决方案 > 属性值绑定:方括号 vs 大括号

问题描述

我已经为 Node 下载了 Angular CLI 6.0.7 并且正在使用它,按照教程等尽可能多地学习。

我有一个问题是数据绑定。似乎如果我想将组件成员变量的值绑定title到输入值,我有两个选择:双花括号或方括号。这两种形式:

<input [value]="title" type="text" />

<input value="{{title}}" type="text" />

这两种方法有什么区别,还是只是风格偏好?如果存在功能差异,在哪些情况下首选哪一个?

提前致谢!

编辑我知道大括号表示字符串插值,产生一个字符串,而方括号表示属性绑定,它可以使用任何数据类型。但我不明白的是,这两件事何时在功能上有所不同?你什么时候会有一个 DOM 元素的属性包含一个与其字符串化版本不等价的值,你甚至会如何正确访问这样的属性值?

标签: angulardata-bindingsyntaxattributes

解决方案


它们可能看起来相同,但是{{ }}会将输入转换为字符串。但是,如果要输入数字或对象,则必须使用[ ].

我在这里包含了相同的 stackblitz 表示


推荐阅读