Data binding Polymer 1.0子级到主机单向数据绑定-只读属性
在Polymer 1.0中,我希望有一个从子元素到主机的单向数据绑定。如果在定义属性时定义了Data binding Polymer 1.0子级到主机单向数据绑定-只读属性,data-binding,polymer-1.0,Data Binding,Polymer 1.0,在Polymer 1.0中,我希望有一个从子元素到主机的单向数据绑定。如果在定义属性时定义了notify:true和readOnly:true,则可以执行此操作。已解释 另请参见下面的示例 儿童: ... Polymer({ is: "child-element", properties:{ myProp:{ type: Number, notify: true, readOnly: true, v
notify:true
和readOnly:true
,则可以执行此操作。已解释
另请参见下面的示例
儿童:
...
Polymer({
is: "child-element",
properties:{
myProp:{
type: Number,
notify: true,
readOnly: true,
value: 0
}
}
});
主持人:
。。。
...
由于存在{…}
且属性设置为notify:true
,主机将尝试双向绑定,但子级具有只读:true
。因此,绑定将只在子级到主机之间工作
在我的设置中,我想更改子项中的值。因此,主机中的绑定值将相应更改。但是,由于该属性被标记为readOnly:true
,因此子级也无法更改该值
是否有一种方法可以将一条路径从子节点绑定到主机,防止主机覆盖该值,但允许子节点这样做
更新:我准备了一个扑通。转到child-element.html。您可以看到myProp
的值是的“初始值”
。当您单击按钮时,不会发生任何事情,因为它被设置为readOnly
。但是如果您在第19行注释掉只读
,然后单击按钮,您将看到值的变化。因此,readOnly还可以防止在子元素中过度写入值。请使用_setMyProp(newValue)更改子元素中的只读值。您可以在中阅读更多关于它的信息
更新的plunk是否尝试更改子项中的值。我认为readOnly仅适用于polymer提供的开箱即用的观察者。您应该能够在子函数中更改子函数中的值。这正是我所期望的。但是设置为readOnly的值不会更改,即使您在子对象中尝试使用它。我准备了一个Plunk,并在上面的原始问题中添加了链接。你可以在那里看到它的作用。
...
<child-element my-prop="{{hostValue}}"></child-element>
...