日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

实战进阶 Vue3+Axios+pinia

發(fā)布時間:2023/10/11 综合教程 75 老码农
生活随笔 收集整理的這篇文章主要介紹了 实战进阶 Vue3+Axios+pinia 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

實戰(zhàn)進階 Vue3+Axios+pinia

創(chuàng)建文件utils/request.js

import Axios from 'axios';
export const request = Axios.create({
  baseURL: '/api'
});
// 攔截器
request.interceptors.request.use((config) => {
  // 如果 本地存儲有token 使用token到 請求頭
  const token = sessionStorage.getItem('token');
  if (token) {
    config.token = token;
  }
  return config;
});
request.interceptors.response.use((response) => {
  // 如果 response.data.token 保存token
  if (response.data.token) {
    sessionStorage.setItem('token', response.data.token)
  }
  return response;
})

代理配置(vue.config.js)

module.exports = {
  configureWebpack: { // @vue/cli內(nèi)部會將這個對象與內(nèi)置的配置對象merge
    devServer: {
      open: true,
      proxy: {
        '/api': {
          target: 'http://localhost:3000',
          changeOrigin: true,
          // 由于server接口 不以/api開頭
          pathRewrite: {
            '^/api': ''
          }
        }
      }
    }
  }
}

Pinia

相較于Vuex更簡化的狀態(tài)管理

Vuex

Pinia

Pinia代碼

安裝

npm install pinia

引入根目錄 main.js 中

import { createPinia } from 'pinia';
createApp(App).use(createPinia())

  

創(chuàng)建vuex定義文件 store/user.js

import { defineStore } from 'pinia';
export const useUser = defineStore({
  id:'user', // 倉庫唯一標(biāo)識
  state() { // 數(shù)據(jù)
  return {
  menus: [],
  isLogin: false,
  userinfo: {}
  }
},
actions:{ // 變更數(shù)據(jù)的行為
  setMenus(menu) { // 直接操作state
    this.menus = menu;
  },
  setUserinfo(userInfoObj) { // 通過patch操作
    this.$patch(userInfoObj); //userInfoObj => {userinfo:user}
  }
}

使用倉庫

1 import { useUser } from '@/store/user';  //引入vuex 文件
2 const user = useUser();
3 user.menus || user.setMenus // 訪問數(shù)據(jù) 或 action

  

總結(jié)

以上是生活随笔為你收集整理的实战进阶 Vue3+Axios+pinia的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。