聚合物中的宿主与目标
Host vs Target in Polymer
我试图在以下取自 Polymer Path and Polymer Data Flow 文档的上下文中理解主机和目标(和元素)。
考虑下图:
现在考虑以下语句(来自同一个 documentation):
"When two elements in the local DOM are bound to the same property data appears to flow from one element to the other, but this flow is mediated by the host."
到目前为止,还不错。然后它继续说:
"A change made by one element propagates up to the host, then the host propagates the change down to the second element."
第一部分:"A change made by one element propagates up to the host..."这是否意味着对第一个元素的更改首先传播到它自己的主机? "element" 是指元素的数据属性吗?
第二部分"then the host propagates the change down to the second element."我们是否向下传播到第二个元素的数据属性?这里更加令人困惑,因为只有一个元素或数据对象在两个 ehhh 元素之间共享??
我认为在第一个元素的数据中所做的更改 属性 首先到达它自己的主机,然后第一个主机将更改传播回第二个元素的数据元素(这恰好也是第一个元素的数据对象)。
<parent-el>
<user-profile primary-address="{{addr}}"></user-profile>
<address-card address="{{addr}}"></address-card>
</parent-el>
如果任一元素更改 addr
(子元素可以使用他们想要的任何名称),更改将传播到父元素,然后传播到另一个元素。
如果使用任一绑定 [[addr]]
,更改只会从父级传播到子级。
请注意,两个子元素都应在相关 属性(primaryAddress 或地址)上设置 notify: true
,以便通知父元素更改并完全设置双向绑定。
另请注意,这仅侦听对象作为一个整体发生的变化。监听子属性的变化,例如addr.street
家长应添加观察员。有关详细信息,请参阅 complex observers。
我试图在以下取自 Polymer Path and Polymer Data Flow 文档的上下文中理解主机和目标(和元素)。
考虑下图:
现在考虑以下语句(来自同一个 documentation):
"When two elements in the local DOM are bound to the same property data appears to flow from one element to the other, but this flow is mediated by the host."
到目前为止,还不错。然后它继续说:
"A change made by one element propagates up to the host, then the host propagates the change down to the second element."
第一部分:"A change made by one element propagates up to the host..."这是否意味着对第一个元素的更改首先传播到它自己的主机? "element" 是指元素的数据属性吗?
第二部分"then the host propagates the change down to the second element."我们是否向下传播到第二个元素的数据属性?这里更加令人困惑,因为只有一个元素或数据对象在两个 ehhh 元素之间共享??
我认为在第一个元素的数据中所做的更改 属性 首先到达它自己的主机,然后第一个主机将更改传播回第二个元素的数据元素(这恰好也是第一个元素的数据对象)。
<parent-el>
<user-profile primary-address="{{addr}}"></user-profile>
<address-card address="{{addr}}"></address-card>
</parent-el>
如果任一元素更改 addr
(子元素可以使用他们想要的任何名称),更改将传播到父元素,然后传播到另一个元素。
如果使用任一绑定 [[addr]]
,更改只会从父级传播到子级。
请注意,两个子元素都应在相关 属性(primaryAddress 或地址)上设置 notify: true
,以便通知父元素更改并完全设置双向绑定。
另请注意,这仅侦听对象作为一个整体发生的变化。监听子属性的变化,例如addr.street
家长应添加观察员。有关详细信息,请参阅 complex observers。