91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

岑巩县| 环江| 宁陵县| 浦县| 延长县| 陈巴尔虎旗| 黔东| 太仓市| 嵊泗县| 双城市| 平和县| 库伦旗| 苗栗县| 天长市| 华阴市| 宁化县| 剑河县| 涿鹿县| 康定县| 太白县| 黄骅市| 枣强县| 邮箱| 将乐县| 宜都市| 博白县| 仁化县| 凤冈县| 潼南县| 临洮县| 南宁市| 巫山县| 射阳县| 顺昌县| 左云县| 邯郸市| 田林县| 太谷县| 金阳县| 罗城| 新蔡县|