如何在 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
}
}
});
我正在构建一个新的网络应用程序,我需要知道如何在聚合物中的 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
}
}
});