【问题标题】:Polymer Two-Way Data Binding to new object instance not working聚合物双向数据绑定到新对象实例不起作用
【发布时间】:2016-03-16 22:31:54
【问题描述】:

我正在尝试双向绑定到本机元素,并且遇到了一些问题,即 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

提前致谢!

【问题讨论】:

  • 尝试用this.set("myData.bar", "poly")替换this.myData.bar = "poly"
  • 行得通,@zerodevx!谢谢!

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-02-15
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2016-10-03
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    相关资源
    最近更新 更多