前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vuex知识

vuex知识

原创
作者头像
李才哥
修改2021-02-19 15:47:16
6330
修改2021-02-19 15:47:16
举报
文章被收录于专栏:李才哥

vuex知识

vuex是什么

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

开始

每个vuex应用的核心就是store(仓库)。‘store’基本上就是一个容器,它包含这你的应用中大部分的状态(state )

注意事项:1、不能直接改变store中的状态,改变store中的状态唯一途径就是显示提交mutations;2、有时记得在根实例中注册store选项,这样该store实例才会注入到根组件中的所有子组件中!

基础例子

实例

核心概念

state

单一状态树

· 用一个对象就包含了全部的应用层级状态,因此在调试时我们可以轻易获得整个当前应用状态的快照。值得一提的是,单状态树和模块化并不冲突,后面会讲到如何将状态和状态事件变更分布到各个子模块中。

在Vue组件中获得vuex状态

· 例子

• 实例

mapState辅助函数

· 作用:上述例子中,我们在computed中需要写return this.$store.state.count 这样的繁琐的语句,使用了mapState,我们直接写 state=>state.count 即可,甚至当计算属性名和state的子节点名称相同时,只要写成 'count'即可。

• 简写成 state=> state.count 形式(花括号)

• 实例

• 简写成‘count’形式(中括号)

• 实例

对象展开运算符

组件仍然保有局部状态

getters

作用:在数据展示之前对数据进行一种再编辑,也就是对数据进行过滤或加工,说白了它相当于store的计算属性;(当很多组件都需要用到某个属性时,我们不可能把所有的函数复制一遍或者抽取一个共享函数然后多处导入它,这样太麻烦了,因此vuex引入了getter。)

注意事项:getters接受的第一个参数是state,getters也可以接受其它getters作为第二个参数。

例子

· 实例

mutations

作用:更改store中的状态的唯一方法就是提交mutations。

说明:mutations有点类似于事件。每个mutation都有一个字符串的事件类型(type)和一个回调函数(handler)。这个回调函数就是我们实际进行状态更改的地方 ,并且它会接受state作为第一个参数。

注意事项:1、mutations必须是同步函数!2、其接受的第一个参数是state

例子

· 实例1

actions

与mutations关系:其与mutations类似,但与mutations不同的是 1、其不能不是直接修改状态,而是提交给mutations;2、其能够包含任意异步操作,但mutations不能,mutations只能是同步的

例子

· 实例

modules

例子

· 实例

补充图示说明

图示

项目结构

插件

严格模式

表单处理

测试

热重载

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • vuex是什么
    • 它是一个专门为vue.js应用程序开发的状态管理模式。它采用集中管理应用的所有组件状态,并以一定规则保证状态以一种可预测的方式发生变化。
    • 开始
      • 每个vuex应用的核心就是store(仓库)。‘store’基本上就是一个容器,它包含这你的应用中大部分的状态(state )
        • 注意事项:1、不能直接改变store中的状态,改变store中的状态唯一途径就是显示提交mutations;2、有时记得在根实例中注册store选项,这样该store实例才会注入到根组件中的所有子组件中!
          • 基础例子
            • 实例
        • 核心概念
          • state
            • 单一状态树
            • 在Vue组件中获得vuex状态
            • mapState辅助函数
            • 对象展开运算符
            • 组件仍然保有局部状态
          • getters
            • 作用:在数据展示之前对数据进行一种再编辑,也就是对数据进行过滤或加工,说白了它相当于store的计算属性;(当很多组件都需要用到某个属性时,我们不可能把所有的函数复制一遍或者抽取一个共享函数然后多处导入它,这样太麻烦了,因此vuex引入了getter。)
            • 注意事项:getters接受的第一个参数是state,getters也可以接受其它getters作为第二个参数。
            • 例子
          • mutations
            • 作用:更改store中的状态的唯一方法就是提交mutations。
            • 说明:mutations有点类似于事件。每个mutation都有一个字符串的事件类型(type)和一个回调函数(handler)。这个回调函数就是我们实际进行状态更改的地方 ,并且它会接受state作为第一个参数。
            • 注意事项:1、mutations必须是同步函数!2、其接受的第一个参数是state
            • 例子
          • actions
            • 与mutations关系:其与mutations类似,但与mutations不同的是 1、其不能不是直接修改状态,而是提交给mutations;2、其能够包含任意异步操作,但mutations不能,mutations只能是同步的
            • 例子
          • modules
            • 例子
          • 补充图示说明
            • 图示
        • 项目结构
        • 插件
        • 严格模式
        • 表单处理
        • 测试
        • 热重载
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档