我刚开始学习emberjs并希望显示模型中的数据列表。我的app.js:
var h= [{
name: "Hi",
},
{
name: "Hello",
}
];
App.ListsRoute = Ember.Route.extend({
model: function(){
return h;
}
});
我的相应清单把手:
<div id="list">
<ul>
{{#each}}
<li>
{{ name }}</li>
{{/each}}
</ul>
</div>
我收到错误:
Error: Assertion Failed: The value that #each loops over must be an Array. You passed (generated lists controller)
我可以做些什么来展示它们?
答案 0 :(得分:1)
#each
想要遍历列表。由于您没有给它一个参数,因此默认尝试迭代ListsController
。不幸的是,由于您没有定义它,因此控制器是基于普通Ember.Controller
自动生成的。因此,错误。
解决此问题的两种方法:
1)将ListsController
变为ArrayController
App.ListsController = Ember.ArrayController.extend({});
2)告诉#each
定位您的模型而不是控制器。
<div id="list">
<ul>
{{#each model}}
<li>{{ name }}</li>
{{/each}}
</ul>
</div>