你可以做什麼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