Ember选择不绑定到模型中的属性

时间:2015-02-05 22:51:28

标签: ember.js

如果我正确理解了ember.js文档,那么我应该看到模型systemStatus值被填充,但我不是:

<div class="form-group">
  <label class="col-sm-2 control-label" for="name">Description</label>
    <div class="col-sm-10">         
        {{view "select" content=statuses value=model.systemStatus }}
    </div>
</div>

这是控制器:

import Ember from "ember";

export default Ember.Controller.extend({
  statuses: ["Being Built", "Active","Inactive"],
  selectedSystemStatus: 'Active',
  actions: {
    save: function() {
    //  this.model.set('systemStatus', this.selectedStatus);
        var s = this.get('selectedSystemStatus');
        this.model.save();
    },
    cancel: function() {

    }
  }
});

模特:

 import DS from "ember-data";

export default DS.Model.extend({
  name: DS.attr('string', {defaultValue: 'Hello'}),
  systemStatus: DS.attr('string', {defaultValue: 'Active'}),
  description: DS.attr('string', {defaultValue: 'Describe me'})
});

路由器:     从“余烬”中导入Ember;

export default Ember.Route.extend({
  model: function() {
    return this.store.createRecord('software-system');
  }
});

在您尝试从UI中选择一个选项之前,一切正常。我不确定我在这里做错了什么,并希望得到一些帮助。

1 个答案:

答案 0 :(得分:0)

你有任何地方可以致电this.store.find('my-model')吗?这是模型填充的地方。

默认方式是将其放入route挂钩中的相应model

// routes/my-model.js
export default Ember.Route.extend({
  model: function() {
    return this.store.find('my-model');
  }
});

使用这种方法,您的控制器将一直等到模型加载。