vuex的基础使用

vuex的基础使用,第1张

axios不挂载写法
axios.post("http://localhost:8080/user1/demo", lists).then((result) => {
      console.log(result)
  }).catch((err) => {
      console.log(err)
  });
定义store
import Vue from "vue"
import Vuex from "vuex"
Vue.use(Vuex)
export default new Vuex.Store({
  state: {
    // 定义一个全局的变量                           
    count: 0
  },
  mutations: {
    sub(state) {
      state.count--
    },
    addN(state, sept) {
      state.count += sept
    },
    add: state => { 
      state.count++
    },
    subN(state, stept) {
      state.count -= stept
    }
  },
  // action专门用于处理异步方法的函数
  actions: {
    addAsync(context) {
      setTimeout(() => {
        context.commit("add")
      }, 1000);
    },
    addnAsync(context, stept) {
      setTimeout(() => {
        context.commit("addN", stept)
      }, 1000);
    },
    subAsync(context) {
      setTimeout(() => {
        context.commit("sub")
      }, 1000);
    },
    subnAsync(context, stept) {
      setTimeout(() => {
        context.commit("subN", stept)
      }, 1000);
    }
  },
  modules: {
    
  },
  getters: {
    showNum: state => { 
      return "当前的count的数量是["+state.count+"]个"
    }
  }
})
调用store中的属性 方法一
{{this.$store.state.count}}


方法二

改变store中的属性 方法一

注意不能在页面中直接修改属性的值,要调用store中的mutations中的方法进行修改store中的state中的值




方法二



异步处理state中的属性

要在store文件中的action中处理

方法一

方法二


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/892944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-14
下一篇 2022-05-14

发表评论

登录后才能评论

评论列表(0条)

保存