关于聚合物,我如何获得一个网页组件'说'到另一个web组件
With regards to Polymer, How do I get one web component to 'speak' to another web component?
我希望能够在web组件1中填写表格,单击web组件1的提交按钮,然后将数据发布到web组件2中的网格中。Web组件1与Web组件2位于不同的html文件中。
//web component 1
<dom module id="foo-form">
<template>
<paper-input id="myID" label="ID"value="{{myID}}"></paper-input>
<paper-button id="submitForm" on-click="submitForm">Submit</paper-button>
</template>
<script>
(function() {
"use strict";
Polymer({
is: 'foo-form',
});
})();
</script>
</dom-module>
//Web component 2*
<dom-module id="my-grid">
<template>
<vaadin-grid selection-mode="single" id="fooBarGrid" >
<table>
<col name="vendorID" sortable="" />
<thead>
<tr>
<th>ID</th>
</tr>
</thead>
</table>
</vaadin-grid>
</template>
<script>
document.addEventListener("WebComponentsReady", function() {
// Reference to the grid element.
var grid = grid || document.querySelector("#fooBarGrid");
// Reference to the template element
var template = template || document.querySelector("template");
// Add some example data as an array.
var data = [
{ "myId": 0 }
];
grid.items = data;
});
</script>
<script>
(function() {
'use strict';
Polymer({
is: 'my-grid',
});
})();
</script>
</dom-module>
基本上有两种方法:
- 使用中介模式。如果您有一个同时包含
my-grid
和foo-form
元素的父元素,则此操作效果良好。可以在此处找到解决方案 - 如果您想在没有公共父级或不同DOM分支的元素之间进行通信,可以使用iron信号,它提供基本的发布和订阅功能
建议采用解决方案1。
相关文章:
- React重新渲染但未显示正确的组件
- 不能从angular2中的子组件指定父组件中的数组
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- React组件等待所需道具进行渲染
- 如何创建带有插槽的vue js组件预加载程序
- KnockoutJS-组件-多个实例
- 如何防止网页加载后自动启动功能
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何在react js中将值从一个组件发送到另一个组件
- 如何使用Node.js最有效地解析网页
- 如何在网页中包含bower组件
- 如何使用灵活的组件构建网页
- 是否有用于在网页中嵌入HTML文档的JavaScript组件
- 我的PlayFramework Action在Future准备就绪之前返回,如何更新网页组件
- 识别哪些JS函数和CSS用于网页中的组件
- Angular 2——浏览网页时不需要重新加载那些页面中常见的组件
- 聚合物网页组件内容点击事件未触发
- 谷歌网页设计师自定义HTML5组件
- 当在同一网页上同时使用jquery和基于原型的组件时,会产生冲突
- 关于聚合物,我如何获得一个网页组件'说'到另一个web组件