灰烬模型/路线/模板设置

时间:2016-08-29 18:30:54

标签: ember.js ember-data

使用常规JS / AJAX很容易做到,但我正在尝试学习并按照Ember方式(v2.6)进行操作:

我有一个网址/dates,在此页面上有两个日历。在页面加载时,向服务器发出请求以获取在日历1中预先选择的日期。响应看起来很好,但日期没有出现在模板中。

/templates/dates.hbs:

Preselect: [{{model.preselect}}]  //this is outputting:  Preselect: []

/routes/dates.js:

import Ember from 'ember';

export default Ember.Route.extend({
  model(){
    return this.get('store').findAll('my-date').get('firstObject');
  }
});

/models/my-date.js:

import Model from 'ember-data/model';
import attr from 'ember-data/attr';

export default Model.extend({
    preselect: attr() 
});

服务器响应:

{"myDates":{"id":1,"preselect":"2016-10-02"}}

稍后会有更多日历2的请求,但我被困在日历1上。

为什么模型数据没有出现在页面上? ember检查员没有错误。该模型确实出现在具有适当数据的ember检查器中。

谢谢。

1 个答案:

答案 0 :(得分:1)

findAll将返回承诺。所以你不能直接处理它,你应该使用then来处理结果。

以下应该有效。

this.get('store').findAll('my-date').then((result) => result.get('firstObject'))