Ember 组件中的值未绑定
Ember values in Component not binding
我有一个对象被输入到组件中
{{edit-general item=item}}
在此组件中,您可以编辑数组的值。
{{#each value in item.values}}
<div class="input-field col s6 l6">
{{input type='text' value=value}}
</div>
{{/each}}
但是,这个值不绑定。该项目在组件内部发生更改,但此更改不会影响模型。
我怎样才能按照我想要的方式进行这项工作?
您不能绑定简单的字符串和对象,您需要将所有这些包装到允许绑定的 Ember.Object 中。
function m(data) {
return Ember.Object.create({
data: data
});
}
var model = [Ember.Object.create({
field: 'ethnicity',
values: [m('African American'), m('Asian'), m('Caucasian'), m('Hispanic'), m('Other')]
}), Ember.Object.create({
field: 'gender',
values: [m('Male'), m('Female'), m('Other'), m('Prefer not to disclose')]
})];
{{#each item in model}}
<div><b>{{item.field}}</b></div>
{{#each value in item.values}}
<div>{{value.data}}</div>
<div>{{edit-general value=value.data}}</div>
{{/each}}
<br><br>
{{/each}}
已更新 JSBin:http://jsbin.com/xebizeyedu/2/edit
我有一个对象被输入到组件中
{{edit-general item=item}}
在此组件中,您可以编辑数组的值。
{{#each value in item.values}}
<div class="input-field col s6 l6">
{{input type='text' value=value}}
</div>
{{/each}}
但是,这个值不绑定。该项目在组件内部发生更改,但此更改不会影响模型。
我怎样才能按照我想要的方式进行这项工作?
您不能绑定简单的字符串和对象,您需要将所有这些包装到允许绑定的 Ember.Object 中。
function m(data) {
return Ember.Object.create({
data: data
});
}
var model = [Ember.Object.create({
field: 'ethnicity',
values: [m('African American'), m('Asian'), m('Caucasian'), m('Hispanic'), m('Other')]
}), Ember.Object.create({
field: 'gender',
values: [m('Male'), m('Female'), m('Other'), m('Prefer not to disclose')]
})];
{{#each item in model}}
<div><b>{{item.field}}</b></div>
{{#each value in item.values}}
<div>{{value.data}}</div>
<div>{{edit-general value=value.data}}</div>
{{/each}}
<br><br>
{{/each}}
已更新 JSBin:http://jsbin.com/xebizeyedu/2/edit