我是 Ember JS 的新手,我正在尝试弄清楚如何创建 Ember.Select 以允许为用户创建新工作。
这是我的 form.handlebars 代码的一部分:
{{view Ember.Select viewName="job-user"
contentBinding="users"
optionLabelPath="content.name"
optionValuePath="content.id"
}}
我在 JobsNewController 里面:
JP.JobsNewController = Ember.ObjectController.extend({
needs: ['users'],
users: [],
usersBinding: "controllers.users"
});
这就是我的 UsersController 的样子:
JP.UsersController = Ember.ArrayController.extend();
当我从填充了 UserController 的屏幕转到 newJob 屏幕时,它正在工作,但是当我直接转到 jobs/new 时,它无法用数据填充选择。如何强制 Ember 加载此选择的数据?
编辑:我必须正确设置路线:
JP.JobsNewRoute = Ember.Route.extend( JP.JobsFormable, {
model: function() {
return JP.Job.createRecord();
},
setupController:function(controller,model) {
this._super(controller,model);
controller.set('usersForSelect', JP.User.find());
}
});
而且我还修改了表格:
{{view Ember.Select viewName="job-user"
contentBinding="usersForSelect"
optionLabelPath="content.name"
optionValuePath="content.id"
}}
感谢@mavilein 的提示