我有問題添加一個數組控制器作爲另一個數組控制器的項目控制器。EmberJS:ArrayController - > ArrayController - > ObjectController錯誤
錯誤,我得到的是:
Error while loading route: TypeError {} ember.min.js:15
Uncaught TypeError: Object # has no method 'addArrayObserver'
的jsfiddle:http://jsfiddle.net/t5Uyr/3/
這裏是我的HTML:
<script type="text/x-handlebars">
<table>
<thead>
<tr>
<th>id</th>
<th>items</th>
</tr>
</thead>
<tbody>
{{#each}}
<tr>
<td>{{id}}</td>
<td>
<ul>
{{#each items}}
<li>{{formattedName}}</li>
{{/each}}
</ul>
</td>
</tr>
{{/each}}
</tbody>
</table>
</script>
正如你所看到的,在模板中我遍歷集合數據與每個循環,每個循環內我想迭代數據的子集合。
這裏是我的JS代碼:
window.App = Ember.Application.create({});
App.ApplicationRoute = Ember.Route.extend({
model: function() {
var data = [
{
id: "111",
items: [
{
name: "foo"
},
{
name: "bar"
}
]
},
{
id: "222",
items: [
{
name: "hello"
},
{
name: "world"
}
]
}
];
return data;
}
});
App.ApplicationController = Ember.ArrayController.extend({
itemController: "row"
});
App.RowController = Ember.ArrayController.extend({
itemController: "item"
});
App.ItemController = Ember.ObjectController.extend({
formattedName: function() {
return "My name is " + this.get("name");
}.property("name")
});
你能更具體?該代碼段中混合了JavaScript和句柄代碼? {{每個...去哪裏?你可以在我的JSFiddle中看到我嗎? –
我試過了,它不能很好地工作。你能看看我的jsfiddle嗎? –
對不起,我編輯了答案,我現在用手機... – Edu