2

我有两个示例在 9.8.1 和最新版本下运行相同的 CollectionView 代码。9.8.1 版本有效:http: //jsfiddle.net/ethan_selzer/kcjzw/230/。但最新版本没有:http: //jsfiddle.net/kcjzw/232/

最新版本中的 Ember.CollectionView API 是否有重大更改?或者,CollectionView 的当前版本是否存在问题?

谢谢,伊桑

4

1 回答 1

5

您可以执行 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。如果需要barView 的变量值,请使用{{view.bar}}.


跟进:改变上下文的另一种方法是使用{{with}}

App.collectionView = Ember.CollectionView.create({
  template: Ember.Handlebars.compile('{{#with view}} {{content.key}} {{/with}}')
});
于 2012-07-11T22:34:30.397 回答