gpt4 book ai didi

javascript - Polymer 中的横向通信

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:33:43 24 4
gpt4 key购买 nike

问题是:

任何两个 Polymer 元素都可能需要通信。没有假设这些元素在 DOM(或影子 DOM)中的位置,这意味着一个事件不能简单地冒泡到另一个元素。

实现此目的的旧方法是让事件冒泡到根节点,然后在根节点上触发广播事件以供其他元素收听。

然而,这种方法破坏了封装并且似乎违背了 Polymer 的整体设计。例如,AngularJS 提供了一个事件广播器,可以防止 Controller 不必要地保留对根节点的引用。

这种方法可以用 Polymer 实现吗?否则可以用不同的方法解决这个问题吗?

最佳答案

您应该能够使用 polymer-signals

http://www.polymer-project.org/articles/communication.html#using-ltpolymer-signalsgt

引用文档:

Your element fires polymer-signal and names the signal in its payload:

this.fire('polymer-signal', {name: "foo", data: "Foo!"});

This event bubbles up to document where a handler constructs and dispatches a new event, polymer-signal-foo, to all instances of . Parts of your app or other Polymer elements can declare a element to catch the named signal:

<polymer-signals on-polymer-signal-foo="{{fooSignal}}"></polymer-signals>

关于javascript - Polymer 中的横向通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24241534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com