Javascript 使用[]语法的绑定与不使用[]语法的绑定之间的区别

Javascript 使用[]语法的绑定与不使用[]语法的绑定之间的区别,javascript,angular,Javascript,Angular,我有一个自定义的我的表,其属性行绑定到主机组件。我可以用两种方式放置html: <my-table [rows]="displayEntriesCount"></my-table> 就像这样: <my-table rows="{{displayEntriesCount}}"></my-table> 有什么区别 <my-table [rows]="displayEntriesCount"></my-table>

我有一个自定义的
我的表
,其属性
绑定到主机组件。我可以用两种方式放置html:

<my-table [rows]="displayEntriesCount"></my-table>

就像这样:

<my-table rows="{{displayEntriesCount}}"></my-table>

有什么区别

<my-table [rows]="displayEntriesCount"></my-table>
进行字符串插值。这意味着分配的值是
displayentriescont
的字符串化值。
如果要分配对象值,请不要使用此选项。

谢谢,这是右侧的差异,左侧的
[行]
行的差异如何?您可以使用
[]
{}
,但不能同时使用这两个选项,因此没有左侧或右侧。双方总是同时进行。如果您使用其中一种,它就是Angular2绑定语法,如果您不使用任何一种,它就是逐字的HTML,只是按原样添加到DOM中,而Angular2并不关心它。实际上,如果您有一个名为
rows
的输入,它会将值作为字符串添加
rows=“displayEntriesCount”将把字符串
“displayEntriesCount”`传递给输入。谢谢,我只是想了解一下算法。你的意思是,角度同时检查两边?我猜它首先在左侧(目标)工作,并检查组件或DOM元素是否具有属性,例如,
,如果有,则计算右侧,否则抛出并出错。这是合理的逻辑吗?如果找到
[]
{{}}
,它肯定会检查双方,如果找到,它还会检查本机元素上是否有具有此名称的属性,或者是否在此元素上实例化了具有此名称的输入的组件或指令,否则它会抛出一个错误,就像好的,谢谢中提到的那样。必须检查源代码以了解精确的方法,但可能稍后当我了解基本知识时:)。
<my-table rows="{{displayEntriesCount}}"></my-table>