有没有办法将 Ember 中复选框列表的数据作为 id 数组获取?
在我的应用程序中,我想创建一个新站点。我制作了一条路线来/sites/new
显示带有添加站点的字段的表单。
这是我的模型:
App.Site = DS.Model.extend({
name : DS.attr('string'),
languages: DS.hasMany('App.Language')
});
App.Language = DS.Model.extend({
name : DS.attr('string')
});
这是我的控制器:
app.SitesNewController = Em.ObjectController.extend({
needs : [ 'languages' ],
name: null,
languages: null,
createSite : function() {
// Get the site name
var name = this.get('name');
var languages = this.get('languages');
console.log(name,description,languages);
// Create the new Site model
app.Site.createRecord({
name : name,
languages : languages
});
// Save the new model
this.get('store').commit();
}
});
这是(部分)我的 SitesNewView:
{{#each controllers.languages}}
<label class="checkbox">
{{view Ember.Checkbox checkedBinding="languages"}}
{{ name }}
</label>
{{/each}}
<button {{ action "createSite" }}>Save</button>
在我的控制台语言中是null
. 如何从 中获取一组语言 ID this.get('languages')
?
更新
我的意思是类似于带有属性的 Ember.Select multiple=true
,如下所示:{{view Ember.Select selectionBinding="languages" contentBinding="controllers.languages" optionValuePath="content.id" optionLabelPath="content.name" multiple="true"}}