【发布时间】:2017-08-29 05:43:02
【问题描述】:
我创建了一个 emberjs 组件,它有一个模板和一些 js 文件中的代码。我想从 DOM 中删除该组件,并且还想在某些条件下删除它的所有事件。我怎样才能做到这一点?或任何类似的方式来实现相同的目标?
//app/pods/custom-comp/component.js
import Ember from 'ember';
export default Ember.Component.extend({
didInsertElement() {
if(some_condition) { //if this condition is true then destory the component from DOM and remove all of its events.
//destroy the component
}
}
});
【问题讨论】:
-
最简单的方法是在
{{if块的情况下包装组件。 -
@locks 是的,使用
{{if块是一个选项。但它会增加模板中的代码。我想从组件本身中删除元素。 -
只有两行 :P 即使你设法从 JavaScript 端销毁了一个组件,它也会弄乱你的应用程序。
-
@locks 我的意思是我必须在不同的地方这样做。我有一个解决方案,但不确定它是否正确。
this.$().remove()满足条件
标签: javascript ember.js components