📅  最后修改于: 2021-01-08 01:18:17             🧑  作者: Mango
Polymer通过根据数据更改采取各种措施来帮助您更改元素的属性。这些动作是:
观察者:每当数据改变时,它被用来调用回调。
计算属性:用于根据其他属性计算虚拟属性。每当输入数据更改时,它也会重新计算它们。
数据绑定:用于在数据更改时使用批注来更新DOM节点的属性,属性或文本内容。
路径是数据系统中的字符串,用于提供相对于范围的属性或子属性,其中范围可以是宿主元素。
数据绑定是一种用于将路径链接到不同元素的技术。如果元素通过数据绑定连接,则可以将数据从一个元素更改为另一个元素。
. . .
. . .
在上面的示例中,您可以看到有两条路径(my-name和address-card)通过数据绑定连接,其中
以下是Polymer.js中特殊类型的路径段的列表:
在数据路径中,路径段是属性名称,它包括两种类型的路径:
让我们以一个示例来看一下数据流的双向绑定。创建一个名为index.html的文件,并在其中使用以下代码。
Polymer Example
创建另一个名为my-element.html的文件,并使用以下代码。
//it specifies the start of an element's local DOM
Present value: {{demoProp}}
现在,再创建一个名为prop-element.html的文件,并使用以下代码:
//it specifies the start of an element's local DOM
输出:
单击按钮,您可以看到值的更改:
使用linkPaths()方法将两个路径链接到相同的对象。您需要使用数据绑定在元素之间生成更改。
linkPaths('myTeam', 'players.5');
可以使用unlinkPaths方法删除路径链接,如下所示:
unlinkPaths('myTeam');
观察者是元素的数据调用方法发生的更改。以下是观察者的类型。
数据绑定用于从其本地DOM中的主机元素连接元素的属性或属性。
可以通过向DOM模板添加注释来创建数据绑定,如下所示:
本地DOM模板中数据绑定的剖析:
property-name=annotation-or-compound-binding
要么
attribute-name$=annotation-or-compound-binding
绑定的左侧指定目标属性或属性,而绑定的右侧指定绑定注释或复合绑定。绑定注释中的文本用双大括号({{}})或双方括号([[]])分隔符括起来,并且复合绑定包括一个或多个字符串字面量绑定注释。
以下是用于数据绑定用例的辅助元素-
模板中继器:可以为数组中的每个项目创建模板内容的实例。
数组选择器:它提供结构化数据数组的选择状态。
条件模板:如果条件为true,则可以标识内容。
自动绑定模板:指定聚合物元素外部的数据绑定。
如果辅助元素更新DOM树,则DOM树会触发dom-change事件。有时,您可以通过更改模型数据而不是与创建的节点进行交互来与DOM交互。因此,您可以使用dom-change事件直接访问节点。