vuejs + vuex

Posted monica_guorong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vuejs + vuex相关的知识,希望对你有一定的参考价值。

vuejs 的数据是双向绑定的,而这些数据只是在父组件中,如果各个组件公用的数据就要通过一个容器去管理起来,

vuex是不错的选择,

今天看了下vuex的教程:

  总结下遇到的问题: vue-cli 了一个项目

  import的时候发现了报错:node的版本太低,升级版本就好了。 

import {
mapState,
mapActions,
mapGetters,
map
} from "vuex";//注意大括号。
 
https://github.com/lin-xin/notepad/ 这个例子非常好。 结合了modules的概念

vuex核心

五大核心属性:

  • State
  • Getters
  • Mutations
  • Actions
  • Modules

四大辅助函数

  • mapState
  • mapGetters
  • mapActions
  • mapMutations

运行流程

  • State是数据data的存储仓库,可划分为子模块module,每个module有自立的上下文对象context,有自己的state、mutation、action、getters、modules等等体系

  • Getters 主要用来从State中获取数据,优点是具有通用性

  • Mutations 是用来更新state状态仓库里的数据的,唯一更改数据地方,实时同步修改, 不能异步,不能异步,不能异步

  • Actions 主要补充增加 异步更新 state仓库数据的功能,内部依然是触发Mutation来实现

  • Modules 为了划分state模块,便于管理数据仓库

注意: Getters,Mutations,Actions无论是不是在module块中,都会直接挂载到 vuex的实例 store上,只有state保持链式命名空间,比如,store.state.module[key]等等,所以如果是子模块的state,直接用辅助函数mapState是获取不到的.

以上是关于vuejs + vuex的主要内容,如果未能解决你的问题,请参考以下文章

Vuejs:如何在 vuejs 中删除大括号“”

Laravel 和 VueJS:在 Blade 中调用 VueJS 方法

vuejs 和 laravel-vuejs 看不到组件的变化

vuejs v3.0 中基于类组件的 vuejs 项目会发生啥?

Vuejs - 在vuejs中获取语义日历的价值

Vuejs——Vuejs与form元素