Here,我正在尝试访问控制器的属性,但它正在抛出异常
Uncaught TypeError: Object [object Object] has no method 'addArrayObserver'
模板代码:
{{#each itemController="index"}}
<div class="row" {{bindAttr class="item.isWithBorder:border"}}>
{{#each item in model}}
{{#each item in item.home_products}}
{{#each item in item.contents}}
<li>{{item.product_name}}</li>
{{/each}}
{{/each}}
{{/each}}
</div>
{{/each}}
我想仅为第一次迭代显示border属性,即第一个产品。 因此,在我在模板中访问的控制器中添加了一个属性。 控制器代码:
Astcart.IndexController = Ember.ObjectController.extend({
init: function() {
console.log("Item controller initialized");
this._super();
},
isWithBorder : function(){
return this.get("model.id") == 1;
}.property("model.id")
});
我已更新了我的代码Here。
答案 0 :(得分:1)
在这里工作jsfiddle:http://jsfiddle.net/fQNRk/2/
使用名称index
作为itemController
index
的用户已经是保留名称,所以我现在只需将其更改为item
即可。
Astcart.ItemController = Ember.ObjectController.extend({
...
{{#each itemController="item"}}
...
希望它有所帮助。