mapState(辅助函数)

mapState(辅助函数)状态管理分为三部分 state view actions 整个 vuex 核心是 store vuex 的状态是响应式的 当 Vue 组件从 store 中读取状态的时候 若 store 中的状态发生变化 那么相应的组件也会相应地得到高效更新 不能直接更改 store 中的状态 改变 store

大家好,我是讯享网,很高兴认识大家。
  1. 状态管理分为三部分:state、view、actions。整个vuex核心是store,vuex的状态是响应式的,当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。不能直接更改store中的状态,改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。
  2. state:从store实例中读取状态的最简单方法是在计算书型中返回某个值。vuex通过store将状态从根组件“注入”到每个子组件中

当组件需要获取多个状态时,使用mapState辅助函数生成计算属性。

  1. Getters:从state派生出的状态。(比如对数据进行加减运算、过滤等操作),使用mapGetters
  2. Mutation:提交mutation是更改vuex的store中状态的唯一方式,必须同步。store.commit(’’)
  3. Action类似于mutation,两点不同:

1)Action提交的是mutation,而不是直接变更的状态

2)Action可以包含任意异步操作

action通过store.dispatch触发,通过context.commit提交状态,通过context.state和context.getter获取state和getters

  1. Modules:将store分割成模块

State
单一状态树
Vuex 用一个对象就包含了全部的应用层级状态。
作为唯一数据源,每个应用将仅仅包含一个 store 实例。
单状态树、模块化、状态、状态变更事件分布
由于 Vuex 的状态存储是响应式的,从 store 实例中读取状态最简单的方法就是在计算属性中返回某个状态:

computed: { 
    count: function () { 
    return this.$store.state.count } } 

讯享网
讯享网每当 this.$store.state.count 变化的时候, 都会重新求取计算属性,并且触发更新相关联的 DOM。 state在vuex中的定位类似于data在vue中的定位:state(vuex) ≈ data (vue) 都是用于存储一些数据,或者说状态值.这些值都将被挂载 数据和dom的双向绑定事件。 也就是当你改变值的时候可以触发dom的更新. 

state在使用的时候一般被挂载到子组件的computed计算属性上,这样有利于state的值发生改变的时候及时响应给子组件.
当然使用data去接收$store.state也可以接收到值,但由于这只是一个简单的赋值操作,
因此state中的状态改变的时候不能被vue中的data监听到。


讯享网

mapState 辅助函数
当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。
mapState是state的语法糖,辅助函数帮助生成计算属性。

mapState(辅助函数)
数组写法(一般情况下不用)
在这里插入图片描述
mapState(辅助函数)
第二种写法 对象写法(经常用)在这里插入图片描述

数组写法在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

还有一张图

在这里插入图片描述
console.logconsole

modules:
关于a的命名互不冲突
作用于多人协作开发
在这里插入图片描述
namespaced:true在这里插入图片描述
当导出子模块的时候切记加一个namespaced:true作用是可以使当时模块的数据私有化在这里插入图片描述

小讯
上一篇 2025-02-22 21:47
下一篇 2025-01-04 16:24

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/11429.html