我试图在以下取自 Polymer Path 的上下文中理解主机和目标(和元素)和 Polymer Data Flow文档。
考虑下图:
现在考虑以下语句(来自同一个 documentation ):
“当本地 DOM 中的两个元素绑定(bind)到相同的属性时,数据似乎从一个元素流向另一个元素,但这一流是由主机调节的。”
到目前为止,一切都很好。然后它继续说道:
“一个元素所做的更改会向上传播到主机,然后主机会将更改向下传播到第二个元素。”
第一部分:“一个元素所做的更改会传播到主机...”这是否意味着对第一个元素的更改首先会传播到其自己的主机? “元素”实际上意味着元素的数据属性吗?
第二部分“然后主机将更改传播到第二个元素。”我们是否向下传播到第二个元素的数据属性?这里特别令人困惑,因为两个 ehhh 元素之间只有一个元素或数据对象共享??
我认为第一个元素的数据属性中所做的更改首先会发送到其自己的主机,然后第一个主机将更改传播回第二个元素的数据元素(恰好是第一个元素的数据对象)以及)。
最佳答案
<parent-el>
<user-profile primary-address="{{addr}}"></user-profile>
<address-card address="{{addr}}"></address-card>
</parent-el>
如果任一元素更改addr
(子元素可以使用它们想要的任何名称),则更改将传播到父元素,然后传播到另一个元素。
如果任一绑定(bind)使用 [[addr]]
,则更改只会从父级传播到子级。
请注意,两个子元素都应在相关属性(primaryAddress 或 address)上设置 notify: true
,以便向父元素通知更改并完全设置双向绑定(bind)。
另请注意,这仅监听整个对象的更改。监听子属性的更改,例如addr.street
父级应该添加一个观察者。有关详细信息,请参阅 complex observers 。
关于polymer - polymer 中的宿主与目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41912214/