我的一个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
。那是为什么?
答案 0 :(得分:2)
您正在使用输入字段设置newcontact
对象的属性。但是,该对象从未被初始化。您可以在properties
定义中为其赋值。
properties:{
newcontact:{
type: Object,
value: function() {
return {};
}
}
},