vuex 基础用法

1.在store文件里件test.js文件

const test = {
    namespaced: true,
    //要设置的全局访问的state对象
    state: {
        obj:{
            name:'测试',
            id:1,
         }
     },
    mutations: {
       //改变当前obj
       changeObj(state, code) {
            state.obj= code
       },
    },
    actions: {
       //code作为形参 改变数据 触发一个mutation
       changeObjAction(context,code){
        context.commit('changeObj',code)
      },
    }
  }
  
  export default test;

2.在stote文件夹里的index.js引入

import Vue from 'vue'
import Vuex from 'vuex'

import test from './test'

Vue.use(Vuex);

export default new Vuex.Store({
  modules: {
    test: test,
  }
})

3.修改

<Test  :items="list" :on-click="onDropClick" ></Test>
export default {
  name: "Test",
  components: {
       Test
  },
  data() {
    return {
    
      list: [  // 这个传到子组件
        {name: '测试', id:1},
        {name: '测试1', id:2},
       ]
},
  methods: {
  
    // 选中城市
    onDropClick(item) {
      this.$store.dispatch('test/changeObjAction', item)

    }
  },

4.使用

  computed: {
    testComputed () {
      return this.$store.state.test.obj
    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值