使用vite搭建vue3项目(六)

vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

安装

npm install vuex@next --save

直接使用

this.$store.state.xxx

首先在src目录下创建store文件夹,在其下创建index.ts

import {createStore} from "vuex"

const store = createStore({
    state() {
        return {num: 1,}
    }
})

export default store

 修改main.ts 

import {createApp} from 'vue'
import router from './router/index'
import store from './store/index'   // 引入
import i18n from './locales/index'
import App from './App.vue'

createApp(App)
    .use(store)   // 使用
    .use(router)
    .use(i18n)
    .mount('#app')

修改App.vue

<template>
  <img alt="Vue logo" src="./assets/logo.png" />
  <div>num:{{$store.state.num}}</div>   <!-- 直接引用state  -->
  <div v-for="(item,index) in users">
    {{index+1}}-{{item}}
  </div>
</template>

<script lang="ts">
import { defineComponent, onMounted, ref } from "vue";
import axios from "axios"

export default defineComponent({
  name: 'App',
  setup() {
    let users = ref([])

    onMounted(()=>{
      axios.get(`/api/getUsers`).then(res=>{
        users.value = res.data.data
        console.log('users', users)
      }).catch(err=>{
        console.log(err)
      })
    })

    return { users }
  }
})
</script>

显示如图

使用vite搭建vue3项目(六)

 

上一篇:axios源码分析--基础工具函数


下一篇:Vite给不同环境处理不同的打包命令