整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Vue實(shí)現(xiàn)頁(yè)面緩存

          Vue實(shí)現(xiàn)頁(yè)面緩存

          使用vue開發(fā)時(shí),當(dāng)進(jìn)行頁(yè)面之間的切換時(shí),上一個(gè)頁(yè)面將會(huì)被銷毀。但是當(dāng)我們想節(jié)省性能以及保留用戶上次操作的結(jié)果或避免ajax重復(fù)請(qǐng)求的時(shí)候,需要把某些特定的頁(yè)面緩存下來。

          keep-alive

          在vue中,提供了內(nèi)置組件 keep-alive , <keep-alive> 包裹動(dòng)態(tài)組件時(shí),會(huì)緩存不活動(dòng)的組件實(shí)例,而不是銷毀它們。和 <transition> 相似,<keep-alive> 是一個(gè)抽象組件:它自身不會(huì)渲染一個(gè) DOM 元素,也不會(huì)出現(xiàn)在父組件鏈中。

          當(dāng)組件在 <keep-alive> 內(nèi)被切換,它的 activated deactivated 這兩個(gè)生命周期鉤子函數(shù)將會(huì)被對(duì)應(yīng)執(zhí)行。

          當(dāng)我們想把所有頁(yè)面都緩存時(shí),只需要用 keep-alive 包裹 router-view 即可。

          但是大多數(shù)情況下,我們只需要把某些不需要請(qǐng)求的頁(yè)面緩存下來。則我們需要某些特定的頁(yè)面實(shí)現(xiàn)緩存即可。

          解決方法: 通過v-if 監(jiān)聽指定變量來實(shí)現(xiàn)對(duì)指定頁(yè)面的緩存;此處我監(jiān)聽的是 $route.meta 中自定義的變量。

          給需要緩存的頁(yè)面其 $route.meta 值設(shè)為 true, 不需要設(shè)為 false 。在頁(yè)面發(fā)生切換時(shí), 其 $route.meta 會(huì)做出對(duì)應(yīng)變化,通過watch 可以實(shí)時(shí)監(jiān)聽到

          之后通過v-if 來綁定此變量即可。

          效果:

          某一些特定場(chǎng)景下,跳轉(zhuǎn)頁(yè)面后再返回我們不希望銷毀組件,而是希望頁(yè)面緩存下來,保存跳轉(zhuǎn)前的狀態(tài),這時(shí)候就可以用到keep-alive組件。

          要:禁止input緩存,禁止select緩存

          有時(shí)候,我們頁(yè)面的輸入框,我們?cè)夙?yè)面里輸入內(nèi)容后,并不保存,但是刷新頁(yè)面會(huì)發(fā)現(xiàn)值為輸入的頁(yè)面,完全沒有從新去從后臺(tái)取值,這是怎么回事呢?如下:

          雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆雷姆雷姆拉姆拉姆

          <input type="text" value="">
          <select>
          <option value="1">1</option>
          <option value="2">1</option>
          </select>

          其實(shí)多數(shù)瀏覽器默認(rèn)會(huì)緩存input的值,只有使用ctl+F5強(qiáng)制刷新的才可以清除緩存記錄。如果不想讓瀏覽器緩存input的值,很簡(jiǎn)單,只需要價(jià)格屬性即可:autocomplete=”off”

          例如上面例子,改為如下就不會(huì)緩存啦:

          <input type="text" autocomplete="off" value="">
          <select autocomplete="off">
          <option value="1">1</option>
          <option value="2">1</option>
          </select>

          聽說還有一種直接加在form表單里也可以,但是因?yàn)槲乙呀?jīng)很久沒有用form表單提交數(shù)據(jù)啦,都是用ajax異步提交的,所以我就沒有采取這種方法,也很簡(jiǎn)單的如下:

          <form action="#" autocomplete="off">  
          <input type="text" value/>  
          </form>

          當(dāng)然,沒試過不知道行不行,應(yīng)該是沒問題的!


          主站蜘蛛池模板: 亚洲乱码一区二区三区国产精品| 国产一区二区三区播放心情潘金莲 | 鲁大师成人一区二区三区| 日韩十八禁一区二区久久| 中文字幕在线看视频一区二区三区| 国产肥熟女视频一区二区三区| 久久99精品一区二区三区| 一区二区三区日本视频| 亚洲欧美日韩中文字幕一区二区三区| 伦理一区二区三区| 精品一区二区三区中文| 亚洲色无码专区一区| 精品无码人妻一区二区三区| 精品视频在线观看你懂的一区 | 色婷婷AV一区二区三区浪潮| 在线视频一区二区日韩国产| 亚洲av无码一区二区三区人妖 | 乱人伦一区二区三区| 国产乱人伦精品一区二区在线观看| 色狠狠一区二区三区香蕉| 国产自产V一区二区三区C| 国产一区在线视频| 国产亚洲情侣一区二区无| 亚洲一区日韩高清中文字幕亚洲| 精品国产天堂综合一区在线| 日韩美一区二区三区| 国产精品福利一区| 国产精品无码一区二区三区在| 国产av一区最新精品| 国产成人精品一区二区A片带套 | 女同一区二区在线观看| 亚洲AV无码一区二区三区电影| 国产精品制服丝袜一区| 亚洲一区二区三区写真| 中文字幕无线码一区二区| 人妻av综合天堂一区| 在线观看日韩一区| 女人和拘做受全程看视频日本综合a一区二区视频 | 国产日韩视频一区| 精品女同一区二区三区免费播放 | 国产免费一区二区三区在线观看|