【发布时间】:2014-05-02 10:16:36
【问题描述】:
我添加了一个动态渲染它的模板:
var myTemplate = Meteor.render(Meteor.template.foo);
document.body.appendChild(myTemplate);
现在我想从 DOM 中删除这个模板,但是这个模板有一个元素列表。
Meteor 渲染,使用documentFragment,所以我不能重用myTemplate 变量,因为它没有内容了。
使用 MeteorJS 从 DOM 中删除模板元素内容的正确方法是什么?
【问题讨论】:
-
这会破坏代码。 body 可能有比我不想删除的模板更多的元素。
-
我现在正在做类似的事情,但看起来不正确,因为 Meteor 将模板元素与事件绑定,所以如果我只是从 DOM 中删除,事件仍然会存在并且 GC 永远不会从边缘中删除这些元素。这就是为什么我正在寻找正确的方法。
-
Rob,“模板”在 Meteor 中的含义比你想象的要多——它不仅仅是一个 DOM,它是一个包含行为、事件和数据的完整组件。移除一件可能会导致另一件损坏。
-
@GabrielGartz:你想达到什么目的?在大多数情况下,这不是首先将模板添加到 DOM 的正确方法。您当然不想在事件或回调中执行此操作,而在帮助程序中您会以不同的方式执行此操作。你能给出一个更大的图吗?
-
@Rob,它不会改变 js FUNDAMENTALLY 与 dom 一起工作的方式,但它会导致 FUNDAMENTAL 方法被错误地使用。电动汽车的工作原理与传统汽车基本相同 - 但您通常不会尝试在其中泵油。
标签: javascript templates meteor