聚合物双向数据绑定到新对象实例不起作用
Polymer Two-Way Data Binding to new object instance not working
我正在尝试双向绑定到本机元素,但在 DOM 未根据更改更新时遇到了一些问题。
如果我有一个简单的 属性,它工作正常:
<input type="text" value="{{myData::input}}">
当我绑定到新的对象实例并通过 javascript 更新绑定时,DOM 没有更新:
...
<input type="text" value="{{myData.bar::input}}">
<button type="button" on-click="changeBar">Update Me!</button>
...
var Foo = function(){
this.bar = "polymer";
}
Polymer({
is: 'my-object',
properties: {
myData : {
type: Object,
notify: true,
readOnly: false
}
},
ready: {
this.myData = new Foo();
},
changeBar: function(){
this.myData.bar = "poly";
}
当我检查 this.myData.bar
时,它显示 = "poly"
。但是,DOM 仍然显示 polymer
。
此外,更改的事件不会冒泡到父组件。
我也试过用几种不同的方式编写 javascript Foo 模块。
聚合物版本:1.0.5/1.0.6
提前致谢!
正如@zerodevx 所建议的,
我用 this.set("myData.bar", "poly")
替换了 this.myData.bar = "poly"
我正在尝试双向绑定到本机元素,但在 DOM 未根据更改更新时遇到了一些问题。
如果我有一个简单的 属性,它工作正常:
<input type="text" value="{{myData::input}}">
当我绑定到新的对象实例并通过 javascript 更新绑定时,DOM 没有更新:
...
<input type="text" value="{{myData.bar::input}}">
<button type="button" on-click="changeBar">Update Me!</button>
...
var Foo = function(){
this.bar = "polymer";
}
Polymer({
is: 'my-object',
properties: {
myData : {
type: Object,
notify: true,
readOnly: false
}
},
ready: {
this.myData = new Foo();
},
changeBar: function(){
this.myData.bar = "poly";
}
当我检查 this.myData.bar
时,它显示 = "poly"
。但是,DOM 仍然显示 polymer
。
此外,更改的事件不会冒泡到父组件。
我也试过用几种不同的方式编写 javascript Foo 模块。
聚合物版本:1.0.5/1.0.6
提前致谢!
正如@zerodevx 所建议的,
我用 this.set("myData.bar", "poly")
this.myData.bar = "poly"