我是Ember新手。当使用以下模型与Object时,Ember抱怨The value that #each loops over must be an Array
我应该使用ArrayController。但是将其更改为ArrayController
抱怨ArrayProxy expects an Array or Ember.ArrayProxy, but you passed object..
我的目的是以JSON格式从模型中对象,并在对象控制器中访问它。
App.FirstRoute = Ember.Route.extend({
model: function(){
return {"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]};
}
});
JSBin:http://emberjs.jsbin.com/faqatomusi/1/edit?html,js,output
答案 0 :(得分:1)
修改你的垃圾箱:
您在模型钩子中将Object作为模型返回。它不是Array,因此您的控制器扩展了ObjectController。
只需更改以下代码
即可{{#each item in model}}
到
{{#each item in model.employees}}
工作箱:http://emberjs.jsbin.com/tedut/1/edit?html,js,output
我的建议:
将模型更改为
model: function(){
return [
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
];
}
你的控制器将是
App.FirstController = Ember.ArrayController.extend({
});