按名称查找视图类

时间:2012-08-02 19:30:55

标签: ember.js

我知道Ember.View.views[someId]找到了视图的“实例”。是否有类似的方法通过字符串值查找View“类”?我有一种情况,列表中的项的值确定实例化哪个视图类并填充到容器视图中。

2 个答案:

答案 0 :(得分:1)

你真的需要切换视图类,因为渲染肯定会基于项目的状态吗?

我宁愿让视图的模板有条件,如下所示:

App.ItemView = Ember.View.extend({

  itemBinding: 'controller.content',

  templateName: function () {
    var kind = this.get('item.kind');
    return '%@_item_view'.fmt(kind);
  }.property('item.kind')
});

(在这里,为了更清晰,我在视图中别名该项目)

然后,您需要尽可能多的模板kind。 例如:如果您在kind中拥有[valid, invalid]的值,则会有两个模板:valid_item_view.handlebars& invalid_item_view.handlebars

答案 1 :(得分:0)

App = Ember.Application.create();

App.TestView = Ember.View.extend({ ... });

App["TestView"].create();