小编jfp*_*ios的帖子

Ember getJSON.done() 与 .then()

我正在使用 Ember,以下代码从 api.php 脚本获取 JSON 并在模板上显示结果。我的问题是,当我将 getJSON 函数更改为使用 .done() 而不是 .then() 时,为什么脚本会中断?我收到以下错误:

:未捕获错误:断言失败:Ember.CollectionView 的内容必须实现 Ember.Array。您传递了 [object Object] 。

如果我在函数期间记录 response.items 对象,我会在控制台中得到相同的结果,所以我很好奇 Ember 如何以不同的方式解释这一点。

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return App.Item.all();
  }
});

App.Item = Ember.Object.extend();

App.Item.reopenClass({
  all: function() {
      return $.getJSON("api.php").then(function(response) {
        var items = [];

        response.items.forEach( function (item) {
          items.push( App.Item.create(item) );
        });
        return items;
      });
  }
});
Run Code Online (Sandbox Code Playgroud)

javascript api jquery getjson ember.js

5
推荐指数
1
解决办法
5764
查看次数

标签 统计

api ×1

ember.js ×1

getjson ×1

javascript ×1

jquery ×1