【问题标题】:Ember model/route/template setupEmber 模型/路由/模板设置
【发布时间】:2016-08-29 18:30:54
【问题描述】:

使用常规 JS/AJAX 很容易做到这一点,但我正在尝试使用 Ember 方式(v2.6)学习和做到这一点:

我有一个 URL /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 检查器中。

谢谢。

【问题讨论】:

  • 成功了,谢谢。作为答案,我会接受。

标签: ember.js ember-data


【解决方案1】:

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

以下应该可以工作。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 1970-01-01
    • 2013-01-26
    • 2015-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    相关资源
    最近更新 更多