到目前为止,我总是从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
有谁能说我为什么会收到此错误?
答案 0 :(得分:2)
默认控制器从ArrayController
扩展。尝试从ObjectController
定义自己的扩展名。