Polymer properties object支持两个不同的键,我不太了解reflectToAttribute
和notify
之间的区别。
reflectToAttribute
表示当值发生变化时,主机节点上的属性会发生变化。
notify
表示它使该属性可用于双向绑定。
阿伦这些同样的事情?如果您将notify
设置为true
,那么您还有什么理由需要reflectToAttribute
吗?
有人可以向我解释这些密钥是如何相互关联的吗?谢谢!
答案 0 :(得分:10)
null
是将属性添加到DOM中。这样您可以将其用作CSS中的选择器
reflectToAttribute
与您提出的双向约束问题相同。
这是两个完全不同的目的。
答案 1 :(得分:0)
如果在component
中,您将reflectToAttribute: true
分配给名为prop
的属性,则prop
将作为属性出现在该component
的元素标记中,可以看到开发工具:
<component prop></component>
如前所述,在component
中,您可以在样式部分使用prop
-as-attribute::host([prop]) div { background-color: green }
在 litElement 中,我们只需编写:reflect: true
。
如您所知,如果您将notify: true
分配给特定道具,则其值将反映在父级的对应道具中(2向绑定)。
在 litElement 中,notify
不存在。相反,要将信息传递回父级,可以在子级中调度自定义事件,然后在父级中侦听该事件。
当我第一次尝试Polymer时,最初感到很困惑,因为我认为为了通知父项更改,我们必须将prop反映为属性,但事实并非如此。