我想简单地使用路线中定义的模型渲染Ember选择视图。数据来自灯具适配器。执行此操作时,我收到错误:Ember.CollectionView的内容必须实现Ember.Array - 您传递了App.AuthorsController。
我该如何解决这个问题?
请参阅JSFIDDLE:http://jsfiddle.net/cyclomarc/frvJZ/4/
(在运行应用程序后,单击“作者”链接以使用authorsController数据转到作者路径。
CODE-HTML:
<script type="text/x-handlebars" data-template-name="application">
<h1>Ember select view</h1>
{{#linkTo 'authors'}}Authors{{/linkTo}}
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="authors">
{{view Ember.Select contentBinding="App.AuthorsController"}}
</script>
CODE-JS:
window.App = Ember.Application.create();
App.Router.map(function () {
this.resource('authors', { path: "/authors" });
});
App.AuthorsRoute = Ember.Route.extend({
model: function () {
return App.Author.find();
}
});
App.AuthorsController = Ember.ArrayController.extend({})
//DATA
//define model for category
App.Author = DS.Model.extend({
name: DS.attr('string'),
language: DS.attr('string')
});
App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
});
App.Author.FIXTURES = [
{
id: 1,
name: 'Luc Verschuren',
language: 'German'
},
{
id: 2,
name: 'Patrick Burms',
language: 'Dutch'
},
{
id: 3,
name: 'Jean Demeester',
language: 'French'
}
];
答案 0 :(得分:1)
尝试使用content
拥有数据的App.AuthorsController
属性:
<script type="text/x-handlebars" data-template-name="authors">
{{view Ember.Select
contentBinding="content"
optionLabelPath="content.name"}}
</script>
工作jsfiddle。
希望它有所帮助。