vuex 笔记

在这里插入图片描述
在这里插入图片描述

1.基本使用方法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mutation 中不能使用异步操作

在这里插入图片描述

state单一状态树

在这里插入图片描述
只写一个state 如果有其它公共的state需要写 可以进行模块化划分

getters的基本使用

在这里插入图片描述

getters作为参数和传递参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

mutation传递参数

在这里插入图片描述
1.传入一个参数

<button @click="addCount(5)">+5</button>
    <button @click="addCount(10)">+10</button>
 methods: {
 addCount(count) {
        // payload: 负载
        // 1.普通的提交封装
        // this.$store.commit('incrementCount', count)

        // 2.特殊的提交封装
        this.$store.commit({
          type: 'incrementCount',
          count    //整个 commit里的东西变成一个对象 叫 payload
        })
      },
  addStudent() {
        const stu = {id: 114, name: 'alan', age: 35}
        this.$store.commit('addStudent', stu)
      },
      }
 incrementCount(state, payload) {
    // console.log(count);
    state.counter += payload.count
  },
 addStudent(state, stu) {
    state.students.push(stu)
  },

mutation相应规则

在这里插入图片描述

在action里使用异步操作,用于替代mutation

在这里插入图片描述
action的默认属性 context = 上下文
在这里插入图片描述

updateInfo() {
        // this.$store.dispatch('aUpdateInfo', {
        //   message: '我是携带的信息',
        //   success: () => {
        //     console.log('里面已经完成了');
        //   }
        // })
 // context: 上下文
  // aUpdateInfo(context, payload) {
  //   setTimeout(() => {
  //     context.commit('updateInfo')
  //     console.log(payload.message);
  //     payload.success()
  //   }, 1000)
  // },

-----------------------------------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 aUpdateInfo(context, payload) {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        context.commit('updateInfo');
        console.log(payload);

        resolve('1111111')
      }, 1000)
    })
  }
 this.$store
          .dispatch('aUpdateInfo', '我是携带的信息')
          .then(res => {
            console.log('里面完成了提交');
            console.log(res);
          })

modules的使用

<h2>{{$store.state.a.name}}</h2> // a被放在了state里面

modules: {
    a: moduleA
  }

const moduleA = {
   state: {
      name: 'qwe'
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值