Import custom MutationObserver; remove mutation observer before component get destroyed
This commit is contained in:
parent
79885751e2
commit
3be0aa121c
1 changed files with 5 additions and 4 deletions
|
@ -26,7 +26,7 @@
|
|||
<script>
|
||||
import Icon from '../icon/icon.vue';
|
||||
import Render from '../base/render';
|
||||
import { oneOf } from '../../utils/assist';
|
||||
import { oneOf, MutationObserver } from '../../utils/assist';
|
||||
import Emitter from '../../mixins/emitter';
|
||||
import elementResizeDetectorMaker from 'element-resize-detector';
|
||||
|
||||
|
@ -342,18 +342,19 @@
|
|||
|
||||
const hiddenParentNode = this.isInsideHiddenElement();
|
||||
if (hiddenParentNode) {
|
||||
const mutationObserver = new MutationObserver(() => {
|
||||
this.mutationObserver = new MutationObserver(() => {
|
||||
if (hiddenParentNode.style.display !== 'none') {
|
||||
this.updateBar();
|
||||
mutationObserver.disconnect();
|
||||
this.mutationObserver.disconnect();
|
||||
}
|
||||
});
|
||||
|
||||
mutationObserver.observe(hiddenParentNode, { attributes: true, childList: true, characterData: true, attributeFilter: ['style'] });
|
||||
this.mutationObserver.observe(hiddenParentNode, { attributes: true, childList: true, characterData: true, attributeFilter: ['style'] });
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.observer.removeListener(this.$refs.navWrap, this.handleResize);
|
||||
this.mutationObserver.disconnect();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
Loading…
Add table
Reference in a new issue