pinia儲存

1、stores下新建自己的js
stores/menu.js

import { ref } from 'vue'
import { defineStore } from 'pinia'

export const usetopMenuStore = defineStore('topMenu', () => {
  const menuList = ref([])
  function getMenuList() {
    //此處為從后臺獲取的數(shù)據(jù)
    menuList.value = [
     { id: 1, name: '0.1元專區(qū)' },
     { id: 2, name: '兒科用藥' },
     { id: 3, name: '補益安捭' },
     { id: 4, name: '腸胃消化' },
     { id: 10, name: '元專區(qū)' },
     { id: 20, name: '兒科用藥' },
     { id: 30, name: '補益安捭' },
     { id: 40, name: '腸胃消化' },
     { id: 21, name: '兒科用藥' },
     { id: 31, name: '補益安捭' },
     { id: 41, name: '腸胃消化' }
    ];
  }
  return { menuList, getMenuList }
})

2、觸發(fā)getMenuList方法從后臺獲取數(shù)據(jù)

import { onMounted } from "vue";
import { usetopMenuStore } from "@/stores/menu.js";
onMounted(() => {
  usetopMenuStore().getMenuList();
});

3、使用menuList中數(shù)據(jù)
active-class="active" 添加激活狀態(tài)下樣式

 <div class="item" v-for="item in menuStore?.menuList" :key="item.id">
      <RouterLink active-class="active" :to="`/classify/${item.id}`"> {{ item.name }}</RouterLink>
 </div>

<script setup>
import { ref, onMounted } from "vue";
import { usetopMenuStore } from "@/stores/menu.js";
const menuStore = usetopMenuStore();
</script>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • """1.個性化消息: 將用戶的姓名存到一個變量中,并向該用戶顯示一條消息。顯示的消息應非常簡單,如“Hello ...
    她即我命閱讀 4,985評論 0 6
  • 為了讓我有一個更快速、更精彩、更輝煌的成長,我將開始這段刻骨銘心的自我蛻變之旅!從今天開始,我將每天堅持閱...
    李薇帆閱讀 2,239評論 1 4
  • 似乎最近一直都在路上,每次出來走的時候感受都會很不一樣。 1、感恩一直遇到好心人,很幸運。在路上總是...
    時間里的花Lily閱讀 1,731評論 1 3
  • 1、expected an indented block 冒號后面是要寫上一定的內容的(新手容易遺忘這一點); 縮...
    庵下桃花仙閱讀 1,075評論 1 2
  • 一、工具箱(多種工具共用一個快捷鍵的可同時按【Shift】加此快捷鍵選取)矩形、橢圓選框工具 【M】移動工具 【V...
    墨雅丫閱讀 1,507評論 0 0

友情鏈接更多精彩內容