中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

vue緩存的keepalive頁面刷新數據的方法

發布時間:2020-10-19 16:48:25 來源:腳本之家 閱讀:637 作者:Summer05 欄目:web開發

用到這個的業務場景是這樣的:

a頁面點擊新建列表按鈕進入到新建的頁面b,填寫b頁面并點擊b頁面確認添加按鈕,把這些數據帶到a頁面,填充到列表(數組),可以添加多條,

點擊這條的時候進入到編輯頁面,確認修改之后,回退到a頁面,a頁面需要更新這條數據

實現這個功能的時候,由于是路由頁面之間的跳轉,首先想到的方案有幾個:1. 用sessionStorage本地存儲;2. 用路由參數帶過去;3. 用兄弟組件傳值

由于是添加完之后如果按回退是需要退出整個頁面,如果用路由跳轉,會出現回退到編輯頁面了,所以這個方法首先排除

用本地存儲的時候,如果不加回退也會吧之前存的歷史記錄給帶過來,所以最終選用了第三種方法

由于a頁面需要緩存,所以用到了路由頁面的緩存

router.js

{path: '/a',name: 'a',component: a,meta: {keepAlive: true}},

App.vue

 <template>
 <div id="app">
  <keep-alive>
    <router-view v-if="$routemetakeepAlive"></router-view>
  </keep-alive>
  <router-view v-if="!$routemetakeepAlive"></router-view>
 </div>
</template>

由于用到了keepalive, 所以頁面在再次加載的時候是不會觸發created而是會觸發activated的

所以接收數據,重置數據要寫到activated方法下

a頁面接收

更改用Vue.set()方法

調用方法:Vue.set( target, key, value )

target:要更改的數據源(可以是對象或者數組)

key:要更改的具體數據

value :重新賦的值

activated(){
    let that = this
    Self$on('detailShow',(data)=>{ // 接收
      if(!dataisEdit){ // 是新增還是編輯--這個是在跳轉的時候帶過去的--新增/編輯頁面也會根據這個顯示內容有所區別
        thataddParamspush(data)
        thataddParams = Arrayfrom(new Set(thataddParamsSubsidyInfos)) // 為避免重復去個重
      }else{
         // thataddParams[thateditIndex] = data // 剛開始想通過直接修改,后來發現不行,因為頁面是有緩存的,顯示的還是未修改之前的
        Vueset(thataddParams,thateditIndex,data) // 用set方法修改數據
      }
    })

  },

b頁面提交(新增/編輯)

submit(){
    if(!thisdetailValidate()){ // 這個是表單校驗,如果不通過不然提交
     return;
    }else{
     Self$emit('detailShow',thisaddParams) // 事件分發
     this$routerback();

    }
   }

vue 緩存的keepalive頁面刷新數據的話,這個主要還是用到了Vue.set( target, key, value )方法

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永平县| 南丰县| 鄂托克前旗| 法库县| 滦平县| 聂荣县| 登封市| 长子县| 武隆县| 通榆县| 沧州市| 福安市| 南江县| 太谷县| 铜陵市| 阜宁县| 贵港市| 旬阳县| 安康市| 民乐县| 张家川| 当涂县| 津市市| 苏州市| 塔河县| 保德县| 开阳县| 临清市| 阿拉善左旗| 东丽区| 兴仁县| 柳林县| 临泽县| 仪征市| 昭觉县| 四子王旗| 沙田区| 娄底市| 西乌珠穆沁旗| 香河县| 濮阳县|