亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue如何實現多圖表resize事件去中心化

發布時間:2022-03-23 10:04:08 來源:億速云 閱讀:206 作者:小新 欄目:web開發

這篇文章主要介紹vue如何實現多圖表resize事件去中心化,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

多圖表resize事件去中心化

1.1 一般情況

有時候我們會遇到這樣的場景,一個組件中有幾個圖表,在瀏覽器resize的時候我們希望圖表也進行resize,因此我們會在父容器組件中寫:

mounted() {
 setTimeout(() => window.onresize = () => {
 this.$refs.chart1.chartWrapperDom.resize()
 this.$refs.chart2.chartWrapperDom.resize()
 // ... 
 }, 200)
destroyed() { window.onresize = null }

這樣子圖表組件如果跟父容器組件不在一個頁面,子組件的狀態就被放到父組件進行管理,為了維護方便,我們自然希望子組件的事件和狀態由自己來維護,這樣在添加刪除組件的時候就不需要去父組件挨個修改

1.2 優化

這里使用了lodash的節流throttle函數,也可以自己實現,這篇文章也有節流的實現可以參考一下。 以Echarts為例,在每個圖表組件中:

computed: {
 /**
 * 圖表DOM
 */
 chartWrapperDom() {
 const dom = document.getElementById('consume-analy-chart-wrapper')
 return dom && Echarts.init(dom)
 },
 /**
 * 圖表resize節流,這里使用了lodash,也可以自己使用setTimout實現節流
 */
 chartResize() {
 return _.throttle(() => this.chartWrapperDom && this.chartWrapperDom.resize(), 400)
 }
},
mounted() {
 window.addEventListener('resize', this.chartResize)
},
destroyed() {
 window.removeEventListener('resize', this.chartResize)
}

以上是“vue如何實現多圖表resize事件去中心化”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定陶县| 炎陵县| 方城县| 玉溪市| 洛隆县| 八宿县| 东台市| 连南| 嘉峪关市| 应用必备| 保亭| 兰溪市| 岐山县| 胶南市| 普兰县| 新沂市| 博爱县| 富源县| 体育| 法库县| 新野县| 巴中市| 嘉黎县| 长子县| 滨海县| 通榆县| 乡城县| 新乡市| 孝昌县| 江阴市| 弥勒县| 石首市| 梨树县| 临西县| 甘德县| 醴陵市| 天祝| 喀什市| 桂阳县| 盐城市| 斗六市|