欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pure admin-Router標簽頁配置與頁面持久化實現(xiàn)方法詳解

 更新時間:2023年01月19日 08:54:20   作者:fanction  
這篇文章主要介紹了Pure admin-Router標簽頁配置與頁面持久化實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧

頁面持久化(適用與單個頁面,跳轉(zhuǎn)頁面不適用):

步驟一:添加 keepAlive: true

{
      path: "/lucky/lookLucky",
      name: "lookLucky",
      component: () => import("@/views/lucky/lookLucky/index.vue"),
      meta: {
        title: $t("查看幸運活動"),
        showLink: false,
        keepAlive: true   // 添加 keepAlive: true   
      }
    }

步驟二:在需要持久化的頁面使用defineOptions選擇當前頁,name的名字就是當前頁的路由名

defineOptions({
  name: "lookLucky"
});

頁面跳轉(zhuǎn)傳參以及持久化-標簽頁名稱配置

某些情況下,做標簽頁跳轉(zhuǎn)時需要將當前頁的某條信息的名稱或者是狀態(tài)攜帶到跳轉(zhuǎn)頁目標頁,并且目標頁刷新后數(shù)據(jù)還是存在,這就需要做頁面的持久化以及hooks配置。

步驟一:先在路由頁配置路由

{
      path: "/lucky/luckyEvent/EditBag",
      name: "EditBagEvent",
      component: () =>
        import("@/views/lucky/luckyEvent/EditBag/index.vue"),
      meta: {
        title: $t("幸運活動編輯"),
        showLink: false,  // 不在左側(cè)菜單顯示
      }
    }

步驟二:新增一個hooks.ts文件

import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
import { useRouter, useRoute } from "vue-router";
import { onBeforeMount } from "vue";
export function useDetail() {
  const route = useRoute();
  const router = useRouter();
  // 這里的id、createStatus ,就是跳轉(zhuǎn)頁傳入的,傳入的參數(shù)需要一一對應
  const id = route.query?.id ? route.query?.id : route.params?.id;
  const createStatus = route.query?.createStatus
    ? route.query?.createStatus
    : route.params?.createStatus;
  function toDetail(
    // 這里的id、createStatus ,就是跳轉(zhuǎn)頁傳入的,傳入的參數(shù)需要一一對應
    createStatus: number | string | string[] | number[] | null,
    model: string,
    id?: number | string | string[] | number[] | null
  ) {
    if (model === "query") {
      // 保存信息到標簽頁
      useMultiTagsStoreHook().handleTags("push", {
          // 跳轉(zhuǎn)目標頁的路由
        path: `/lucky/luckyEvent/EditBag`,
        name: "EditBagEvent",   // 跳轉(zhuǎn)目標頁的路由名
        query: { id: String(id), createStatus: String(createStatus) },   // 跳轉(zhuǎn)目標頁的參數(shù)
        meta: {
          title: {
            zh: `${createStatus == 1 ? "添加" : "修改"}福袋活動`,  // 可以動態(tài)修改標簽頁名稱
            en: `${createStatus == 1 ? "添加" : "修改"}福袋活動`   // 可以動態(tài)修改標簽頁名稱
          },
          // 最大打開標簽數(shù)
          dynamicLevel: 1
        }
      });
      // 路由跳轉(zhuǎn),EditBagEvent 攜帶參數(shù)
      router.push({
        name: "EditBagEvent",
        query: { id: String(id), createStatus: String(createStatus) }
      });
    }
  }
  function initToDetail(model) {
    onBeforeMount(() => {
        // 這里的id、createStatus ,就是跳轉(zhuǎn)頁傳入的,傳入的參數(shù)需要一一對應
      if (id) toDetail(createStatus as string, model, id as string);
    });
  }
  return { toDetail, initToDetail, id, createStatus, router };  // 導出參數(shù),跳轉(zhuǎn)目標頁可以獲取到
}

當前頁

// 引入hooks文件
import { useDetail } from "./hooks";
// 當前頁的路由名
defineOptions({
  name: "luckyBagEvent"
});
const { toDetail } = useDetail();
// 添加
const createStatus = ref(0); // 0修改 1創(chuàng)建
const addBagEvent = () => {   // 點擊事件,也可以直接寫在HTML標簽上
  createStatus.value = 1;
  toDetail(createStatus.value, "query");  // 跳轉(zhuǎn)(參數(shù),query模式)
};

跳轉(zhuǎn)目標頁

// 引入 hooks
import { useDetail } from "../hooks";
// 設(shè)置當前頁的路由名
defineOptions({
  name: "EditBag"
});
// 獲取路由參數(shù)以及方法
const { initToDetail, id, createStatus, router } = useDetail();
initToDetail("query");  // query傳參方式
// 這里的initToDetail為回傳的路由,用作路由的參數(shù)緩存以及頁面持久

關(guān)閉標簽頁

import { useMultiTagsStoreHook } from "@/store/modules/multiTags";
import { useDetail } from "../hooks";
const { router } = useDetail();
router.push("/luckyModul/luckyBag"); // 路由跳轉(zhuǎn)
// 關(guān)閉標簽頁,router.currentRoute.value.path就是需要關(guān)閉的路由,固定寫法,不要動
useMultiTagsStoreHook().handleTags("splice", router.currentRoute.value.path);

需要注意

如果配置了hooks的同時還配置了keepAlive: true,那么頁面修改了之后,數(shù)據(jù)會持久保存,所以下次進入頁面時還是當前狀態(tài),例如:數(shù)據(jù)清空,如果開啟了keepAlive,當前頁數(shù)據(jù)清空了,下次跳轉(zhuǎn)進入時,還是清空的狀態(tài),不會重新刷新,如果需要重新刷新,需要關(guān)閉keepAlive。

到此這篇關(guān)于Pure admin-Router標簽頁配置與頁面持久化實現(xiàn)方法詳解的文章就介紹到這了,更多相關(guān)Pure admin-Router標簽頁配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實現(xiàn)樹形菜單效果

    vue實現(xiàn)樹形菜單效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)樹形菜單效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 解決Vue axios post請求,后臺獲取不到數(shù)據(jù)的問題方法

    解決Vue axios post請求,后臺獲取不到數(shù)據(jù)的問題方法

    今天小編就為大家分享一篇解決Vue axios post請求,后臺獲取不到數(shù)據(jù)的問題方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • el-table?表格分頁序號問題小結(jié)

    el-table?表格分頁序號問題小結(jié)

    這篇文章主要介紹了el-table?表格分頁序號問題小結(jié),本文通過實例代碼圖文效果展示給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • vue3利用v-model實現(xiàn)父子組件之間數(shù)據(jù)同步的代碼詳解

    vue3利用v-model實現(xiàn)父子組件之間數(shù)據(jù)同步的代碼詳解

    在Vue 3中,v-model這一指令也得到了升級,使得父子組件之間的數(shù)據(jù)同步變得更加容易和靈活,本文將探討一下Vue 3中如何利用v-model來實現(xiàn)父子組件之間的數(shù)據(jù)同步,需要的朋友可以參考下
    2024-03-03
  • 詳解vite2.0配置學習(typescript版本)

    詳解vite2.0配置學習(typescript版本)

    這篇文章主要介紹了詳解vite2.0配置學習(typescript版本),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • vue實現(xiàn)html轉(zhuǎn)化pdf并復制文字

    vue實現(xiàn)html轉(zhuǎn)化pdf并復制文字

    這篇文章主要為大家詳細介紹了vue實現(xiàn)html轉(zhuǎn)化pdf的兩種方式,分別為能復制文字和不能復制文字的方法,有需要的小伙伴可以跟隨小編一起學習一下
    2024-10-10
  • vue?頂部消息橫向滾動通知效果實現(xiàn)

    vue?頂部消息橫向滾動通知效果實現(xiàn)

    系統(tǒng)頂部展示一個橫向滾動的消息通知,就是消息內(nèi)容從右往左一直滾動,這篇文章主要介紹了vue頂部消息橫向滾動通知,需要的朋友可以參考下
    2024-02-02
  • 完美解決通過IP地址訪問VUE項目的問題

    完美解決通過IP地址訪問VUE項目的問題

    這篇文章主要介紹了完美解決通過IP地址訪問VUE項目的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 談談Vue.js——vue-resource全攻略

    談談Vue.js——vue-resource全攻略

    本篇文章主要介紹了談談Vue.js——vue-resource全攻略,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • vue組件父與子通信詳解(一)

    vue組件父與子通信詳解(一)

    這篇文章主要為大家詳細介紹了vue組件父與子通信詳解,實現(xiàn)登錄窗口,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11

最新評論