如何使用Polymer中的纸张输入绑定对象的子属性

时间:2017-02-10 08:57:29

标签: javascript data-binding polymer polymer-1.0

我的一个Polymer组件中有一个对象属性(newcontact)和函数(saveContact):

properties: {
  newcontact: {
    type: Object
  }
},
saveContact: function() {
  console.log(this.newcontact); // Getting undefined
},

我想通过newcontact数据绑定向<paper-input>添加子属性,如下面的代码所示:

<label class="form-control-label">Name</label>
<paper-input type="text" name="name" is="iron-input" value="{{newcontact.name}}"></paper-input>

<label>Email</label>
<paper-input type="text" name="email" is="iron-input" value="{{newcontact.email}}"></paper-input>          

<label>Phone</label>
<paper-input type="text" name="phone" is="iron-input" value="{{newcontact.phone}}"></paper-input>           
<paper-input hidden is="iron-input" value="{{newcontact.id}}"></paper-input>
<input type="button" value="Save" on-click="saveContact" class="btn btn-primary">

saveContact()始终为undefined记录this.newcontact。那是为什么?

1 个答案:

答案 0 :(得分:2)

您正在使用输入字段设置newcontact对象的属性。但是,该对象从未被初始化。您可以在properties定义中为其赋值。

properties:{
    newcontact:{
        type: Object,
        value: function() {
            return {};
        }
    }
},