余烬 - 在表单字段中显示模型值



>我有一个这样的用户设置表单:

<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
        }
    }
});

。他们不会。那么如何将我的模型与此控制器结合使用来设置属性呢?

您定义控制器的方式是常规Ember.Controller而不是Ember.ObjectController因此控制器不会代理模型。如果将其修改为如下所示:

App.SettingsController = Ember.ObjectController.extend({
    actions: {
        update: function() {
               // Do something
        }
    }
});

然后,它仍应自动填充模型中的值。

最新更新