【发布时间】:2014-08-21 23:00:59
【问题描述】:
我想使用其他模型的类别自动填充下拉列表。它出现了,但默认值不起作用。以下是两种型号:
App.Task = DS.Model.extend({
category_id : DS.attr('number'),
title : DS.attr('string'),
...
category : DS.belongsTo('category', { async : true })
});
App.Category = DS.Model.extend({
name : DS.attr('string'),
...
tasks : DS.hasMany('task', { async : true })
});
这是我的路线:
App.Router.map(function () {
this.resource('tasks', { path : '/tasks'}, function () {
this.resource('task', { path: '/:task_id' }, function( ) {
this.route('edit');
});
...
});
...
});
这是控制器:
App.TaskController = Ember.ObjectController.extend({
isEditing: false,
needs: ['categories'],
categoriesDropdown : function() {
return this.store.find('category');
}.property(),
...
});
我有一个按钮可以在编辑模式之间切换。在编辑模式下,会填充下拉列表,但不会填充默认值。我使用了 Ember 检查器,值绑定正在工作,因为如果我选择一个选项,category_id 也会发生变化。
{{view Ember.Select contentBinding="categoriesDropdown"
optionValuePath="content.id" optionLabelPath="content.name"
valueBinding="category_id" class="form-control select-chosen"
prompt="No category selected"}}
我也尝试将其直接绑定到类别,但加载时类别设置为 null,如果我尝试更改选项,类别会更改但选择选项不会更改。
{{view Ember.Select contentBinding="categoriesDropdown"
optionValuePath="content.id" optionLabelPath="content.name"
selectionBinding="category" class="form-control select-chosen"
prompt="No category selected"}}
绑定正在工作,但选择/下拉菜单未更新。
【问题讨论】:
标签: javascript ember.js