【发布时间】:2014-10-07 03:26:51
【问题描述】:
直到现在我总是从 Ember 路由的模型钩子中返回一个对象:
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
谁能告诉我为什么会出现这个错误?
【问题讨论】:
-
您是否对控制器进行了其他更改?
-
不,控制器是空的;这只是 ember-cli 的第一次尝试;我只有申请模板,这是申请路线
-
默认控制器有没有可能是从ArrayController扩展而来的?尝试放入一个从 ObjectController 扩展的虚拟对象。
-
是的,你真是个天才!! :)
标签: ember.js