国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue mounted 調用兩次的完美解決辦法

2019-11-19 12:37:31
字體:
來源:轉載
供稿:網友

在開發中發現其中一個頁面moutned調用了兩次,而其他頁面正常,表示很懵逼,然后查找原因,終于找到了,其實歸根到底是要知道mounted的調用機制問題;

情況:在這個頁面中出現了mounted 加載了兩次的情況;

方法:排除法

首先把 this.$store.commit() 方法注釋掉,發現就好了,只加載一次

初步判斷是commit  方法導致的

二  驗證判斷是否正確,不使用commit 方法,該用直接改變變量狀態的方法,發現又加載了兩次;

再次判斷,不是由于commit引起的

三   猜想commit到底實現了什么邏輯,然后找到了v-if  

v-if會重新渲染頁面,而mounted 又是在重新渲染完成之后調用的,所以猜想是v-if導致的

然后換成v-show 發現完美解決問題;

v-show 不會重新加載頁面,僅僅是顯示隱藏而已; 

從網上找來的生命周期圖,各位網友可以了解一下,希望給你帶來一些啟發;

 

PS:下面看下mounted函數調用技巧

為了確保dom成功渲染,利用setTimeout()

mounted() { setTimeout(() => {  this._setSliderWidth()  this._initDots()  this._initSlider()  if (this.autoPlay) {   this._play()  } }, 20)}

瀏覽器的刷新通常是17毫秒一次,所以這里用了20毫秒

總結

以上所述是小編給大家介紹的vue mounted 調用兩次的完美解決辦法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海南省| 天气| 南开区| 仲巴县| 伊宁县| 南康市| 棋牌| 育儿| 都兰县| 舒兰市| 台东县| 辽中县| 沛县| 沧州市| 定襄县| 黑水县| 清新县| 新泰市| 通道| 武陟县| 莒南县| 孝义市| 绥棱县| 天等县| 衡阳市| 突泉县| 宝坻区| 民丰县| 日土县| 延津县| 龙岩市| 郁南县| 肥西县| 和田市| 石狮市| 侯马市| 左云县| 侯马市| 二手房| 武威市| 丹棱县|