使用setAttribute / property更新模板变量

时间:2014-12-16 23:12:35

标签: polymer

在我的Polymer Element中,我使用mustache语法定义了一个绑定,例如<input value="{{nick}}">

我想使用常规DOM操作(例如nicknickInput.setAttribute("value", newVal)更新该输入的值以及绑定的nickInput.value = newVal模板变量,但两者都不起作用。

有没有办法实现这个目标?

演示:http://jsfiddle.net/warpech/nvbwqqqx/

1 个答案:

答案 0 :(得分:2)

您正在寻找的是反思。

不是将您的属性定义为nick: 'value',而是需要这样做:

nick: {
  value: 'Paul',
  reflectToAttribute: true
},

通过这样做,您现在可以更改公开可用的属性。以下任何一项都可以使用。您没有在输入中更新模型。您正在更新您创建的自定义元素的模型。

changeMe: function() {                
  this.nick = 'John'; 
  this.setAttribute("nick", 'Ringo');
}

此处提供更多信息:Attribute-reflection