【问题标题】:Ember - displaying model value in form fieldEmber - 在表单字段中显示模型值
【发布时间】:2014-01-18 22:20:21
【问题描述】:

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

<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.js ember-data


    【解决方案1】:

    您定义控制器的方式是常规的Ember.Controller,而不是Ember.ObjectController,因此控制器没有代理模型。如果修改成这样:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 2011-01-15
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多