你可以做什么Kristofor塞尔登在这个小提琴http://jsfiddle.net/krisselden/6fAHZ/(在itemViewClass
的content
数组绑定)建议,或者你可以如下做到这一点:
小提琴:http://jsfiddle.net/ppanagi/WhGjR/
App = Ember.Application.create();
App.collectionView = Ember.CollectionView.create({
content: [
{ key: 'value one' },
{ key: 'value two' }
],
itemViewClass: Ember.View.extend({
template: Ember.Handlebars.compile('{{view.content.key}}')
})
});
App.collectionView.append();
模板的默认上下文现在是控制器变量,所以{{foo}}
将返回控制器变量foo
的值。如果您需要查看的bar
变量的值,请使用{{view.bar}}
。
追问:还有一种方法可以更改上下文是使用{{with}}
:
App.collectionView = Ember.CollectionView.create({
template: Ember.Handlebars.compile('{{#with view}} {{content.key}} {{/with}}')
});
我想你应该问[问题](https://github.com/emberjs/ember。 js/issues?labels = question&page = 1&state = open)直接在存储库问题列表中,并从开发人员处获得答案。 – MilkyWayJoe 2012-07-11 16:23:20
感谢MilkyWayJoe。我按照你的建议在Ember回购中提交了这个问题。 – 2012-07-11 17:39:27
Kristofor Selden在官方存储库问题跟踪器上回答了此问题。以下是他的指导:默认上下文已从视图更改为控制器。你可以通过绑定来改变上下文,就像这样http://jsfiddle.net/krisselden/6fAHZ/ – 2012-07-11 20:10:14