在内部Ember.View是否有可能做这样的事情:
App.ExperimentalView = Ember.View.extend({
templateName: 'experimental/table',
click: function (event) {
var $target = $(event.target).closest('tr'),
anotherView = Ember.View.create({
templateName: 'experimental/appendableRow'
};
anotherView.appendTo($target);
}
});
仅当单击元素时才添加<tr/>在模板中定义的 HTML 标记?Handlebars
首先我想使用 anEmber.ContainerView但后来我重新阅读了文档并偶然发现了这句话:
Ember.ContainerView 的 DOM 表示的 HTML 内容将只是其子视图的呈现 HTML。
这导致我假设我需要一个Ember.ContainerView代表我的表格的子视图来保存真实的<table/>,它再次具有子视图以及另一个Ember.ContainerView代表我的表格主体而不实际呈现<tbody/>看起来有点奇怪的元素的对象恕我直言。
编辑
这种方法的另一个好处可能是您将能够声明 a Ember.Mixin,它不仅提供方法/属性,还提供自己的Handlebars模板。因此,可以说,FilterableViewMixin使用 HTML 标记为过滤器和所有内容创建类似 a 的东西,您只需要实现和重置过滤器条目。