Polymer 将数据传递到另一个聚合物组分
我正在开发一个仪表板,其中顶部有一个搜索面板(我们称之为组件a),用户可以在其中输入查询。此输入的值将更改仪表板中的许多其他组件(不仅仅是作为其直接子代或同级的组件)。我想将搜索值从组件A发送到组件B,然后组件B应该通过使用输入值执行一些操作来响应 我试过几件事:Polymer 将数据传递到另一个聚合物组分,polymer,polymer-1.0,web-component,Polymer,Polymer 1.0,Web Component,我正在开发一个仪表板,其中顶部有一个搜索面板(我们称之为组件a),用户可以在其中输入查询。此输入的值将更改仪表板中的许多其他组件(不仅仅是作为其直接子代或同级的组件)。我想将搜索值从组件A发送到组件B,然后组件B应该通过使用输入值执行一些操作来响应 我试过几件事: 直接调用组件B中的函数。根本无法使其工作 手动设置B的本地属性值,并使用观察者触发函数调用。我使用管理器设置值,但观察者不触发 使用全局变量,我可以很容易地跨组件访问它,但我仍然不能在特定组件中触发函数 我怎样才能做到最好? 我对聚合
<dom-module id="component-B">
<template>
</template>
<script>
Polymer({
is: 'component-B',
properties: {
id: '',
observer: '_idUpdate'
},
_idUpdate: function(){
console.log("HELLO");
}
});
</script>
</dom-module>
<dom-module id="component-A">
<template>
</template>
<script>
Polymer({
is: 'component-A',
idSearch: function() {
var id = this.$.search.value;
document.querySelector('component-B').properties.id = id;
},
});
</script>
</dom-module>
聚合物({
is:‘成分B’,
特性:{
id:“”,
观察者:“\u idUpdate”
},
_idUpdate:函数(){
console.log(“你好”);
}
});
聚合物({
是:‘A组分’,
idSearch:函数(){
var id=此.$.search.value;
document.querySelector('component-B')。properties.id=id;
},
});
当您想要将数据发送到多个元素(可能不是触发元素的同级元素)时,您可以使用这两种方法中的任何一种
- 用于发射信号,然后在需要数据的所有元素中使用iron signal tag来监听信号
<iron-signals on-iron-signal-<signal-name>="<function>"></iron-signals>
- 您还可以使用标准HTML方法
发出信号,然后在需要数据的所有元素中添加dispatchEvent
eventListeners