在我的Polymer Element中,我使用mustache语法定义了一个绑定,例如<input value="{{nick}}">
。
我想使用常规DOM操作(例如nick
或nickInput.setAttribute("value", newVal)
更新该输入的值以及绑定的nickInput.value = newVal
模板变量,但两者都不起作用。
有没有办法实现这个目标?
答案 0 :(得分:2)
您正在寻找的是反思。
不是将您的属性定义为nick: 'value'
,而是需要这样做:
nick: {
value: 'Paul',
reflectToAttribute: true
},
通过这样做,您现在可以更改公开可用的属性。以下任何一项都可以使用。您没有在输入中更新模型。您正在更新您创建的自定义元素的模型。
changeMe: function() {
this.nick = 'John';
this.setAttribute("nick", 'Ringo');
}
此处提供更多信息:Attribute-reflection