我正在构建一个新的webapp,我需要知道如何在聚合物中的两个自定义元素之间传递一个对象。
在下面的代码中,我在“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>
谢谢!
答案 0 :(得分:2)
您的示例看起来应该在没有host元素需要属性的情况下工作, if 子元素的属性设置正确。请记住,Polymer的数据绑定语法基本上是围绕触发和处理自定义事件的语法糖。因此,请查看子元素1,并确保您已将属性设置为在更改时通知。例如:
Polymer({
is: "my-child-element-1",
properties: {
mydata: {
type: Object,
notify: true // fire mydata-change CustomEvent on change
}
}
});
答案 1 :(得分:1)
是的,afaik让父元素充当子元素之间的中介是正确的,这意味着它需要拥有自己的属性,即使它仅用于此目的。