聚合物双向数据绑定到新对象实例不起作用

时间:2015-07-05 04:20:41

标签: javascript polymer 2-way-object-databinding

我正在尝试双向绑定到本机元素,并且在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

提前致谢!

1 个答案:

答案 0 :(得分:0)

正如@zerodevx建议的那样, 我将this.myData.bar = "poly"替换为this.set("myData.bar", "poly")