Polymer 1.x:获取/返回没有相关元素的属性值

时间:2017-10-30 18:00:53

标签: javascript polymer

聚合物用户的问题:

如果元素不是父子关系或子父关系,我如何获得属性值?据我所知,听众链是非常糟糕的主意。是否可以指定侦听事件的具体元素?

我知道可以用JS方式完成:

user

但我需要聚合物方式。

谢谢。

2 个答案:

答案 0 :(得分:1)

简而言之,就是这样设计的。

  

孤立的DOM:组件的DOM是独立的(例如   document.querySelector()不会在组件的阴影中返回节点   DOM)。

参考。 https://developers.google.com/web/fundamentals/web-components/shadowdom

您应该依靠数据绑定和事件来在构建在shadow DOM上的Web组件之间进行通信。而且,聚合物元素就是这样的网络组件。

答案 1 :(得分:1)

Plain Polymer使用中介模式,这意味着父项调解其所有子项,因此,只有父项可以使用绑定访问子项的属性。

双向绑定是implemented using events,即您可以执行以下操作,而不是双向绑定:

<child-element property-changed="onPropertyChanged_"></child-element>

但是,由于这些事件是非冒泡的,因此只能在父组件中访问它。

如果您想要更全局的状态管理并在整个应用程序中共享某种状态,您应该查看Redux,可能与Polymer绑定Polymer-Redux结合使用。有关此主题的更多信息,请参阅Kevin's this talk