余烬js相当新,我遇到了这个错误。
Error: Assertion Failed: The value that #each loops over must be an Array. You passed '[Saab,Volvo,BMW]' (wrapped in (generated favorites controller))
在我的route/favorites.js
export default Ember.Route.extend({
model: function() {
// the model is an Array of all of the posts
// fetched from this url
var cars = ["Saab", "Volvo", "BMW"];
return cars;
}
});
这是我的路线/ favorite.js
中的唯一一行和我的app / router.js
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
Router.map(function() {
this.route('favorites');
});
export default Router;
和我的favorites.hbs
<h1>{{appName}}</h1>
<ul>
{{#each controller as |item|}}
<li>{{item}}</li>
{{/each}}
</ul>
我错过了什么?
答案 0 :(得分:4)
试试这个
{{#each model as |item|}}
<li>{{item}}</li>
{{/each}}
后台:在当前版本的emberjs中不推荐使用Ember.ArrayController。如果您定义了Ember.ArrayController,那么您使用的代码将起作用,但现在不鼓励这样做。相反,我猜你自己创建了一个Ember.Controller,因为你没有显示一个。因此,您应该使用控制器上的model
属性并循环它。