最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決vue2.x中數(shù)據(jù)渲染以及vuex緩存的問題

 更新時(shí)間:2017年07月13日 16:36:44   作者:刈懋  
本篇文章主要介紹了vue2.x中請(qǐng)求之前數(shù)據(jù)顯示以及vuex緩存的問題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近在學(xué)習(xí)Vue.js,把自己遇到的問題做個(gè)記錄,所以,今天添加一點(diǎn)小筆記。

在項(xiàng)目中遇到兩個(gè)問題,簡(jiǎn)單的做個(gè)筆記來記錄自己解決的問題,可能不是很好的處理辦法,歡迎提出,自己還在不斷優(yōu)化中...

第一個(gè)是vue在加載頁面的時(shí)候,會(huì)先加載靜態(tài)資源,這個(gè)時(shí)候數(shù)據(jù)還沒有請(qǐng)求回來,用戶會(huì)先看到靜態(tài)的內(nèi)容(就是頁面固定寫死的),過一會(huì)才會(huì)有數(shù)據(jù)回來渲染,這體驗(yàn)是很差的,其實(shí)解決辦法也很簡(jiǎn)單,就是用vue里的 v-if 來判斷請(qǐng)求的數(shù)據(jù)是否返回... 

 <div class="container" id="app" v-cloak>
   <div v-if='moneyInMsg.uuid'>
     <in-account-msg :money-in-msg="moneyInMsg"></in-account-msg>
   </div>
 </div>

這里的  v-if = 'moneyInMsg.uuid' 就是來判斷數(shù)據(jù)有沒有請(qǐng)求回來,如果請(qǐng)求回來就讓他顯示,沒有請(qǐng)求到數(shù)據(jù),就讓他loading,這樣體驗(yàn)就會(huì)好很多。在這里還需要注意的是,v-if判斷的數(shù)據(jù)源,是數(shù)據(jù)返回的字段,如果兩個(gè)字段只能存在其一的話,可以v-if ='a || b' 來判斷數(shù)據(jù)是否成功的返回;還要注意的一點(diǎn)是,不能直接在組件里用v-if判斷,也不能直接在根標(biāo)簽里判斷,直接嵌套一個(gè)div就可以解決,并不影響樣式,只做數(shù)據(jù)是否正常返回的顯示作用;

第二個(gè)就是在使用vuex時(shí),有數(shù)據(jù)緩存;我遇到的情況是,在列表頁點(diǎn)擊進(jìn)入詳情頁,返回到列表頁,在進(jìn)入另一個(gè)詳情頁的時(shí)候,數(shù)據(jù)會(huì)顯示之前的數(shù)據(jù),同時(shí)頁面還在loading(接口返回的數(shù)據(jù)比較慢),過一會(huì)數(shù)據(jù)返回的時(shí)候,才重新渲染頁面??赡苁亲约簩?duì)vuex理解的不夠深入,沒有在vuex基礎(chǔ)上解決這個(gè)問題。雖然曲折的解決了這個(gè)問題,但是不夠zhuang,但是解決了問題,后期再做優(yōu)化。

在之前解決的方案中,是進(jìn)入頁面的時(shí)候,重新刷新頁面,重新請(qǐng)求數(shù)據(jù),代碼如下:

export const refresh = (title) => {
 document.title = title;
 let iframe = document.createElement('iframe');
 iframe.src = require('./mm.jpg');
 iframe.setAttribute('style', 'display:none;');
 let loadFn = function () {
     iframe.removeEventListener('load', loadFn);
     document.body.removeChild(iframe);
     console.info('Page Title IS ' + title);
     iframe = null;
     loadFn = null;
 }
 document.body.appendChild(iframe)
 iframe.addEventListener('load', loadFn);
}

但是沒有達(dá)到預(yù)期的效果,依然會(huì)出現(xiàn)上面的情況... 丫的,抓狂了...(被別人催的感覺真的不爽...)

百度啊,google啊,都沒有遇到這種情況的?找到一個(gè),還是提問的,沒有回答的,好吧,還是靠自己。自己動(dòng)手,豐衣足食啊...

思路是,定義一個(gè)參數(shù)status為false,當(dāng)數(shù)據(jù)沒有請(qǐng)求回來,就不顯示,也是用上面的方式來判斷,一直loading(請(qǐng)求失敗,去掉loading),當(dāng)數(shù)據(jù)返回的時(shí)候,讓status為true;使用$nextTick來更新數(shù)據(jù)...

貼上自己部分的代碼作為參考:

<template>
  <div v-if='status && order.name'>
    //頁面展示的數(shù)據(jù)
  </div>
</template> 
<script>
  export default{
  data(){
    return {
       status:false
      }
    },
    created(){
       var _this = this;
      this.setDd({res =>{
        _this.$nextTick(function(){
          _this.status= true
        });  
      }})
    },
    computed:{
      ...mapGetters({//getter獲取的數(shù)據(jù)})
    },
    methods:{
      ...mapActions(['setDd']) //獲取數(shù)據(jù)的方法
    }
  }   
</script>       

處理的方式比較丑陋...,但是實(shí)現(xiàn)了想要的效果;這里注意一點(diǎn)就是v-if的判斷問題。(v-if='status && order.name')這個(gè)用了并且,目的是有數(shù)據(jù)返回,才能讓他顯示,如果沒有數(shù)據(jù),會(huì)顯示靜態(tài)的值,數(shù)據(jù)都為underfind...

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Vue實(shí)現(xiàn)文件拖拽上傳功能

    基于Vue實(shí)現(xiàn)文件拖拽上傳功能

    文件拖拽上傳功能現(xiàn)在已經(jīng)隨處可見,大家應(yīng)該都用過了吧,那么它具體是怎么實(shí)現(xiàn)的大家有去了解過嗎,今天我們一起來實(shí)現(xiàn)一下這個(gè)功能,并封裝一個(gè)拖拽上傳組件吧
    2024-03-03
  • vue elementui 實(shí)現(xiàn)搜索欄公共組件封裝的實(shí)例代碼

    vue elementui 實(shí)現(xiàn)搜索欄公共組件封裝的實(shí)例代碼

    這篇文章主要介紹了vue elementui 搜索欄公共組件封裝,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • vue+xlsx實(shí)現(xiàn)表格的導(dǎo)入導(dǎo)出功能

    vue+xlsx實(shí)現(xiàn)表格的導(dǎo)入導(dǎo)出功能

    這篇文章主要介紹了vue+xlsx實(shí)現(xiàn)表格的導(dǎo)入導(dǎo)出功能,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • Vue3動(dòng)態(tài)倒計(jì)時(shí)的代碼實(shí)現(xiàn)

    Vue3動(dòng)態(tài)倒計(jì)時(shí)的代碼實(shí)現(xiàn)

    在使用Vue框架開發(fā)Web應(yīng)用時(shí),倒計(jì)時(shí)功能是一個(gè)常見的需求,它可以在一定時(shí)間內(nèi)重復(fù)執(zhí)行某些操作,比如防止用戶重復(fù)提交表單、限制投票次數(shù)、實(shí)現(xiàn)驗(yàn)證碼獲取等功能,所以本文給大家介紹了Vue3動(dòng)態(tài)倒計(jì)時(shí)的代碼實(shí)現(xiàn),需要的朋友可以參考下
    2024-09-09
  • elementui中tabel組件的scope.$index的使用及說明

    elementui中tabel組件的scope.$index的使用及說明

    這篇文章主要介紹了elementui中tabel組件的scope.$index的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 詳解vue+webpack+express中間件接口使用

    詳解vue+webpack+express中間件接口使用

    這篇文章主要介紹了詳解vue+webpack+express中間件接口使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • 教你搭建按需加載的Vue組件庫(小結(jié))

    教你搭建按需加載的Vue組件庫(小結(jié))

    這篇文章主要介紹了教你搭建按需加載的Vue組件庫(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • axios實(shí)現(xiàn)文件上傳并獲取進(jìn)度

    axios實(shí)現(xiàn)文件上傳并獲取進(jìn)度

    這篇文章主要為大家詳細(xì)介紹了axios實(shí)現(xiàn)文件上傳并獲取進(jìn)度,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • vue跨域問題:Access?to?XMLHttpRequest?at‘httplocalhost解決

    vue跨域問題:Access?to?XMLHttpRequest?at‘httplocalhost解決

    在前端發(fā)出Ajax請(qǐng)求的時(shí)候,有時(shí)候會(huì)產(chǎn)生跨域問題,下面這篇文章主要給大家介紹了關(guān)于vue跨域問題:Access?to?XMLHttpRequest?at‘httplocalhost的解決辦法,需要的朋友可以參考下
    2023-01-01
  • 解決chunk-vendors.js語法錯(cuò)誤問題

    解決chunk-vendors.js語法錯(cuò)誤問題

    在遇到chunk-vendors.js文件的語法錯(cuò)誤時(shí),可以嘗試在vue.config.js文件中添加transpileDependencies參數(shù)進(jìn)行配置,這通過明確指示哪些依賴需要被babel轉(zhuǎn)譯,從而幫助解決編譯過程中的語法問題,此方法適用于Vue項(xiàng)目中遇到的相關(guān)錯(cuò)誤,希望能幫助到遇到同樣問題的開發(fā)者
    2024-10-10

最新評(píng)論

古交市| 林州市| 建昌县| 肇庆市| 苍南县| 汉沽区| 鄂尔多斯市| 桂林市| 晋宁县| 成都市| 定安县| 林周县| 都兰县| 南皮县| 锦州市| 界首市| 抚顺市| 镇宁| 洱源县| 永嘉县| 长子县| 梁河县| 余干县| 杭锦后旗| 郴州市| 肥东县| 泽库县| 景泰县| 永修县| 恭城| 东莞市| 平昌县| 金华市| 历史| 莱阳市| 丹棱县| 靖边县| 金秀| 日喀则市| 高邑县| 碌曲县|