我在Polymer中设置了与普通textarea
的双向绑定:
<textarea id="textbox" value="{{editText::input}}" autofocus></textarea>
我还尝试使用bindValue属性进行双向绑定iron-autogrow-textarea
:
<iron-autogrow-textarea bindValue="{{editText}}" class="fit" autofocus></iron-autogrow-textarea>
属性editText
分配如下:
Polymer({
is: "page-editor",
properties: {
editText: {
type: String,
value: ""
}
},
但是当更改下面代码中的editText
时,它不会更新相应的textarea值......
this.editText = "new message";
有趣的是,console.log(this.editText)表示其未定义&#39;
答案 0 :(得分:1)
我仍然在使用Polymer,但我认为您需要将notify
设置为true
。
Polymer({
is: "page-editor",
properties: {
editText: {
type: String,
value: "",
+ notify: true
}
},
...
如果这不起作用,请发布完整的样本,我很乐意与您一起调试。
您可以使用Polymer的on-*
语法添加事件侦听器,其中*
是要侦听的事件。
<iron-autogrow-textarea bindValue="{{editText}}"
class="fit"
on-click="f'
autofocus></iron-autogrow-textarea>
定义事件监听器:
Polymer({
is: "page-editor",
properties: {
editText: {
type: String,
value: "",
notify: true
}
},
/* the function signature below may be wrong...
* don't know how many arguments it takes... */
f: function(e, detail, sender) {
this.editText = 'yay';
}
...
答案 1 :(得分:1)
要使用的正确属性是bind-value="{{editText}}"
。 CamelCase属性转换为带有破折号(source)的属性。