我试图让我的头在Ember附近,并通过todos教程。我陷在这里显示的模型数据的步骤 http://emberjs.com/guides/getting-started/displaying-model-data/Ember todos:Ember.CollectionView的内容必须实现Ember.Array
这是我复制的JavaScript和粘贴本教程:
window.Todos = Ember.Application.create();
Todos.Router.map(function() {
this.resource('todos', { path: '/' });
});
Todos.TodosRoute = Ember.Route.extend({
model: function() {
return Todos.Todo.find();
}
});
Todos.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
Todos.Todo = DS.Model.extend({
title: DS.attr('string'),
isCompleted: DS.attr('boolean')
});
Todos.Todo.FIXTURES = [
{
id: 1,
title: 'Learn Ember.js',
isCompleted: true
},
{
id: 2,
title: '...',
isCompleted: false
},
{
id: 3,
title: 'Profit!',
isCompleted: false
}
];
然后这里是我的车把模板:
...
{{#each controller}}
<li>
<input type="checkbox" class="toggle">
<label>{{title}}</label><button class="destroy"></button>
</li>
{{/each}}
而且但我得到这个错误
Uncaught Error: assertion failed: an Ember.CollectionView's content must implement Ember.Array. You passed <(generated todos controller):ember257>
它在我看来像任何默认的控制器对象Ember生成应该是Ember.Array类型,但它不会因为某种原因而发生。我想知道这是否是一个呃数据的问题?
我使用的所有文件从入门工具包它们 烬1.0.0 RC5 车把1.0.0 RC4 的jQuery 1.9.1 和烬数据,唯一的版本指示我可以告诉是从评论
// Last commit: 3981a7c (2013-05-28 05:00:14 -0700)
是否有依赖问题有人知道或我做错了什么?
好的,谢谢。生病尝试了这个周末,让你知道。 – tim
这工作。你是对的。默认情况下,ember创建'Controller'而不是'ArrayController'设置'Todo.TodosController = Em.ArrayController.extend({});'明确地解决了这个问题。 – dhilipsiva
得爱的教程,其中包含的错误,并在每个页面上有线说“重新加载您的网页来检查错误”。 –