Vuex知识点

Vuex

Vuex是专为Vue.js开发的状态的vue插件

集中式管理多个组件共享状态和后台数据获取,可以实现实时数据更新

工作原理:

vuex

vue组件通过dispatch触发分发函数事件actions,通过commit触发mutations,然后通过mutate触发state,最后通过render影响组件

  • state,给vue组件状态,$store.state或mapState()
  • getters,给vue组件计算属性数据,$store.getters或mapGetters()
  • actions,$store.dispatch()或mapActions(),
  • mutations,被actions触发【commit()】,然后mutations直接更新状态state,
  • devtool
  • backend api
    在这里插入图片描述

引入Vuex,

使用Vuex,

创建对象,const store=new Vuex.store({state:{count:0}})

注入

然后在任意组件中引入即可
在这里插入图片描述

在这里插入图片描述

可创建一个store来存放vuex
在这里插入图片描述

vuex和全局对象的区别

Vue.prototype.$hello=‘hello’

虽然任意地方都可以读到

{{this.$hello}},

但是全局对象不能改变想要的值,

vuex不允许在引用的时候修改内容,要在mutation中修改,而全局对象可以直接修改

State
引入mapState来辅助

computed中使用

…mapState([“count”,“userinfo”])读取vuex中存放的数据

在这里插入图片描述

在这里插入图片描述

mutations

和state同级,

在这里插入图片描述

在组件中,在methods中以字符串的表现形式,把vuex中的函数名称写在里面

在这里插入图片描述

载荷

可以传递参数

在这里插入图片描述

Mutation需要遵循的规则

mutation是唯一改变state状态的方案,action无法改变

最好提前写好store初始化的属性

要添加新属性,使用Vue.set(对象,属性,值),无论是vuex还是vue,都应该要这样用

例子

在这里插入图片描述

mutations必须是同步函数,如果要使用异步就使用action,

mutation也有辅助函数,mapMutation

在这里插入图片描述

state.userinfo.age是无法添加的,因为要用对象方法,Vue.set()

在这里插入图片描述

方法直接引用即可

action

action包含异步操作,action提交的是mutation,而不是直接变更状态

在这里插入图片描述

action中写入

然后methods中直接通过$store.dispatch引入

在这里插入图片描述

异步操作

在这里插入图片描述

可以用mapActions辅助函数

getters

数据过滤

在这里插入图片描述

直接引入getters里面的函数名称

在这里插入图片描述

若有参数

要用两个箭头函数嵌套

在这里插入图片描述

在这里插入图片描述

也可以用辅助函数

在这里插入图片描述

module

在这里插入图片描述

把state,mutations,actions,getters的都分别单独放在一个文件夹中的index.js的文件里
在这里插入图片描述

可以把觉得多余的放在module中

在这里插入图片描述

然后子组件读取,而操作的时候没有模块

在这里插入图片描述

在这里插入图片描述

插件

创建插件

在这里插入图片描述

然后在export中加入plugins
在这里插入图片描述

严格模式

在这里插入图片描述

只能通过mutations来改变值
在这里插入图片描述

若在组件中更改直接报错

在这里插入图片描述

打包的话写成这样,更改开发环境和发布环境

表单处理

v-model的方法

在这里插入图片描述

在这里插入图片描述

在state中定义message

在这里插入图片描述

然后在mutations中定义方法
在这里插入图片描述

热重载

方便了调试功能,可以不用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值