我有两个示例在 9.8.1 和最新版本下运行相同的 CollectionView 代码。9.8.1 版本有效:http: //jsfiddle.net/ethan_selzer/kcjzw/230/。但最新版本没有:http: //jsfiddle.net/kcjzw/232/。
最新版本中的 Ember.CollectionView API 是否有重大更改?或者,CollectionView 的当前版本是否存在问题?
谢谢,伊桑
我有两个示例在 9.8.1 和最新版本下运行相同的 CollectionView 代码。9.8.1 版本有效:http: //jsfiddle.net/ethan_selzer/kcjzw/230/。但最新版本没有:http: //jsfiddle.net/kcjzw/232/。
最新版本中的 Ember.CollectionView API 是否有重大更改?或者,CollectionView 的当前版本是否存在问题?
谢谢,伊桑
您可以执行 Kristofor Selden 在此小提琴http://jsfiddle.net/krisselden/6fAHZ/中建议的操作(在 中绑定content
数组itemViewClass
),也可以按以下方式执行:
小提琴: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 的变量值,请使用{{view.bar}}
.
跟进:改变上下文的另一种方法是使用{{with}}
:
App.collectionView = Ember.CollectionView.create({
template: Ember.Handlebars.compile('{{#with view}} {{content.key}} {{/with}}')
});