在 Backbone 视图中注销 Material Disign Lite 组件
Unregister Material Disign Lite component in Backbone view
我在 Backbone 中使用 MDL。
如何在删除包含任何 MDL 组件的视图之前注销组件。
为了注册组件,我使用了 MDL 中的 componentsHandler.upgradeDOM()
函数。但是没有componentsHandler.unregisterComponents()
出现内存泄漏。
我无法获取与当前视图关联的 MDL 组件以注销它们 =(
我找到了这个问题的解决方案。我只是将此代码添加到我所有 Backbone 视图的删除方法中:
var components = this.el.querySelectorAll('[data-upgraded]');
if (components.length > 0) {
componentHandler.downgradeElements(components);
}
此代码在视图中找到所有升级的元素并将它们降级。
我在 Backbone 中使用 MDL。 如何在删除包含任何 MDL 组件的视图之前注销组件。
为了注册组件,我使用了 MDL 中的 componentsHandler.upgradeDOM()
函数。但是没有componentsHandler.unregisterComponents()
出现内存泄漏。
我无法获取与当前视图关联的 MDL 组件以注销它们 =(
我找到了这个问题的解决方案。我只是将此代码添加到我所有 Backbone 视图的删除方法中:
var components = this.el.querySelectorAll('[data-upgraded]');
if (components.length > 0) {
componentHandler.downgradeElements(components);
}
此代码在视图中找到所有升级的元素并将它们降级。