我有一个像这样的用户设置表单:
<script type="text/x-handlebars" data-template-name="settings">
<form class="form-horizontal user-form" {{action "update" on="submit"}}>
<div>
<label>First Name</label>
{{input type="text" value=firstName placeholder="First Name"}}
{{error.firstName}}
</div>
<div>
<label>Last Name</label>
{{input type="text" value=lastName placeholder="Last Name"}}
{{error.lastName}}
</div>
<div>
<label>Email Address *</label>
{{input type="text" value=email placeholder="Email Address"}}
{{error.email}}
</div>
</form>
</script>
在此页面的路线中,我定义了模型:
App.SettingsRoute = Ember.Route.extend({
model: function() {
return this.store.find('user', 1);
}
});
如果保留这样的内容,表单将自动填充从模型中检索到的值。但是,如果我添加一个控制器:
App.SettingsController = Ember.Controller.extend({
actions: {
update: function() {
// Do something
}
}
});
......他们不会。那么如何将我的模型与此控制器结合使用来设置属性?
答案 0 :(得分:2)
您定义控制器的方式是常规Ember.Controller
而不是Ember.ObjectController
,因此控制器不会代理模型。如果您将其修改为:
App.SettingsController = Ember.ObjectController.extend({
actions: {
update: function() {
// Do something
}
}
});
然后它仍然应该自动填充模型中的值。