国产探花免费观看_亚洲丰满少妇自慰呻吟_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 調用兩次的完美解決辦法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆尧县| 类乌齐县| 米脂县| 德兴市| 龙岩市| 三亚市| 山东省| 新巴尔虎左旗| 读书| 南宫市| 泉州市| 湖南省| 维西| 阜平县| 承德市| 贵州省| 武夷山市| 黔西| 鱼台县| 彭阳县| 公安县| 辽阳县| 澄迈县| 新民市| 宝鸡市| 海兴县| 界首市| 宽城| 宜兴市| 新乡县| 同仁县| 白银市| 合水县| 耿马| 林芝县| 清流县| 黎平县| 怀宁县| 镇宁| 庆安县| 峨山|