在Ember回归模型

时间:2014-10-07 03:26:52

标签: ember.js

到目前为止,我总是从Ember route的模型钩子返回一个对象:

model: function(params) {
    var data = {};

    $.ajax({...}).then(function(res) {
        data.first = res.first
    });

    $.ajax({...}).then(function(res) {
       data.second = res.second
    });

    return data;
}

每次我需要在多个步骤中加载模型时都会使用类似上面的内容(比如当我需要在同一路径中加载两个或更多模型时)

现在,使用ember-cli(在我使用yeoman之前,不知道这是否重要)试图将对象作为模型返回,我收到错误:

import Ember from 'ember';

export default Ember.Route.extend({
    model: function() {

        var data = {};

        data.one = ['example1'];
        data.two = ['example2'];
        return data;
    }
});

错误:

Error while processing route: index Assertion Failed: ArrayProxy expects an Array or Ember.ArrayProxy, but you passed object

有谁能说我为什么会收到此错误?

1 个答案:

答案 0 :(得分:2)

默认控制器从ArrayController扩展。尝试从ObjectController定义自己的扩展名。