gpt4 book ai didi

ember.js - Ember.View - 如何以正确的方式将另一个 Ember.View 附加到 jQuery HTML 元素?

转载 作者:行者123 更新时间:2023-12-02 06:05:08 26 4
gpt4 key购买 nike

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 中定义仅当元素被点击时模板?

首先我想到了使用 Ember.ContainerView但后来我重新阅读了文档并偶然发现了这句话:

The HTML contents of a Ember.ContainerView's DOM representation will only be the rendered HTML of its child views.



这导致我假设我需要一个 Ember.ContainerView代表我的 table ,用一个 subview 来保存真实的 <table/>再次有 subview 和另一个 Ember.ContainerView代表我的表格主体而不实际呈现 <tbody/> 的对象恕我直言,这似乎有点奇怪的元素。

编辑

这种方法的另一个好处可能是您可以声明 Ember.Mixin它不仅提供方法/属性,还提供自己的 Handlebars模板。因此,可以说,创建类似 FilterableViewMixin 的东西。使用过滤器和所有内容的 HTML 标记,您只需要实现和重置过滤器条目。

最佳答案

我会做的稍微不同。在模板experimental/table添加包含在 experimental/appendableRow 中的片段并将其包装在 if 语句中。然后如果用户点击表格行, View 可以将点击委托(delegate)给 Controller , Controller 将切换条件,从而显示experimental/appendableRow。片段。

关于ember.js - Ember.View - 如何以正确的方式将另一个 Ember.View 附加到 jQuery HTML 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17830100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com