| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- import { debounce } from '@/utils'
 
- export default {
 
-   data() {
 
-     return {
 
-       $_sidebarElm: null
 
-     }
 
-   },
 
-   mounted() {
 
-     this.$_initResizeEvent()
 
-     this.$_initSidebarResizeEvent()
 
-   },
 
-   beforeDestroy() {
 
-     this.$_destroyResizeEvent()
 
-     this.$_destroySidebarResizeEvent()
 
-   },
 
-   // to fixed bug when cached by keep-alive
 
-   // https://github.com/PanJiaChen/vue-element-admin/issues/2116
 
-   activated() {
 
-     this.$_initResizeEvent()
 
-     this.$_initSidebarResizeEvent()
 
-   },
 
-   deactivated() {
 
-     this.$_destroyResizeEvent()
 
-     this.$_destroySidebarResizeEvent()
 
-   },
 
-   methods: {
 
-     // use $_ for mixins properties
 
-     // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
 
-     $_resizeHandler() {
 
-       return debounce(() => {
 
-         if (this.chart) {
 
-           this.chart.resize()
 
-         }
 
-       }, 100)()
 
-     },
 
-     $_initResizeEvent() {
 
-       window.addEventListener('resize', this.$_resizeHandler)
 
-     },
 
-     $_destroyResizeEvent() {
 
-       window.removeEventListener('resize', this.$_resizeHandler)
 
-     },
 
-     $_sidebarResizeHandler(e) {
 
-       if (e.propertyName === 'width') {
 
-         this.$_resizeHandler()
 
-       }
 
-     },
 
-     $_initSidebarResizeEvent() {
 
-       this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
 
-       this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
 
-     },
 
-     $_destroySidebarResizeEvent() {
 
-       this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
 
-     }
 
-   }
 
- }
 
 
  |