我有从服务器检索的JSON数据,我想在ember.js的模板中显示它。我将数据保存在商店中,我想在模板中呈现数据。
我的模板
<script type="text/x-handlebars" data-template-name="DieDaten" >
<p>{{name}} some text2</p>
<ul id="todo-list">
{{#each person in model}}
<li>
<label>{{person.firstName}} and text</label>
</li>
{{/each}}
</ul>
<button id="clear-completed" {{action 'click'}}>
Submit
</button>
</script>
和我的相关控制器
App.DieDatenController = Ember.Controller.extend({
model: function () {
return this.store.all('person');
}
});
当页面加载时,我明白了。
Uncaught Error: Assertion Failed: The value that #each loops over must be an Array. You passed function () {
return this.store.all('person');
}
如何解决这个问题呢?
除了保存到商店,然后渲染商店之外,是否有更简单/更好的方法在模板中呈现JSON?
答案 0 :(得分:0)
model
不支持{p> Ember.Controller
,它是Ember.Route
的一部分。所以,你的代码应该是:
App.DieDatenRoute = Ember.Route.extend({
model: function () {
return this.store.all('person');
}
});
您可以阅读有关在http://emberjs.com/guides/routing/specifying-a-routes-model/
指定路线模型的详情