如何在 2 个自定义元素之间传递聚合物对象

How can I pass a Polymer Object beetwen 2 custom elements

我正在构建一个新的网络应用程序,我需要知道如何在聚合物中的 2 个自定义元素之间传递对象。

在下面的代码中,我在 "my-child-element-1" 中设置了 mydata 的值,我需要在 "my-child-element-2" 中看到这个值...我认为这并不难,但我我正在为寻找一个好的解决方案而发疯...

在我看来,我应该在 "my-host-element" 中创建一个临时对象来共享值,但我不相信这个...

这是我的代码:

<dom-module id="my-host-element">
    <template>

        <my-child-element-1     mydata="{{mydata}}"></my-child-element-1>


        <my-child-element-2     mydata="{{mydata}}"></my-child-element-2>

    </template>

    <script>
    Polymer({

        is: "my-host-element",
        properties: 
        {
            mydata: {
                type: Object
            }
        }
      });

    </script>
</dom-module>

谢谢!!

是的,据我所知,让父元素充当子元素之间的中介是正确的,这意味着它需要有自己的 属性,即使它仅用于该目的。

您的示例看起来应该在不需要 属性 的宿主元素的情况下工作, 如果 子元素上的 属性 设置正确。请记住,Polymer 的数据绑定语法基本上是围绕触发和处理自定义事件的语法糖。因此,请查看子元素 1,并确保已将 属性 设置为在更改时发出通知。例如:

Polymer({
    is: "my-child-element-1",
    properties: {
        mydata: {
            type: Object,
            notify: true // fire mydata-change CustomEvent on change
        }
    }
  });