[英]Best way to remove a backdraft component?
我有一个显示消息的 backdraftjs 组件。 当您单击它时,我希望它远离 go。 我应该如何使它远离 go?
class QuickMessage extends Component {
bdElements() {
return e.div(
{className: 'quick_message', bdAdvise: {click: 'dismissMe'}},
this.kwargs.message
);
}
dismissMe() {
// what should go here ? should it just remove the dom element or
// will that leave code hanging around?
}
}
在#someDomId 中显示错误的方法:
reportError = (errmsg) => render(QuickMessage, {message: errmsg}, "someDomId");
你应该调用destroy
:
dismissMe() {
this.destroy();
}
文档说:
销毁实例拥有的所有资源和引用,从而使实例随时可用于垃圾回收。 具体而言,完成了以下工作:
- 取消渲染实例(如果已渲染)并销毁在渲染组件期间获取的所有资源(DOM 节点、事件连接等)。
- 销毁实例属性上的所有观察者。
- 销毁实例事件的所有处理程序。
- 销毁所有发布到拥有的 Destroyable 实例。
- 删除 this.kwargs。
这是您在清理方面可以预期的最多情况。 下次您调用reportError
时,您的组件的新实例将被创建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.