首页 > 其他分享 >VUEX 的使用学习一

VUEX 的使用学习一

时间:2023-01-16 22:56:31浏览次数:37  
标签:Vue Vuex js 学习 state 使用 组件 VUEX store

转载请注明出处:

一、Vuex是什么?

  介绍:Vuex 是一个专为 [Vue](https://so.csdn.net/so/search?q=Vue&spm=1001.2101.3001.7020).js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。他可以方便实现组件之间的数据共享

  理解:核心就是 store(仓库),仓库是用来干什么的?你就当它用来储存东西的。

 二、我们什么时候应该用到Vuex呢?

  a.小应用不建议使用Vuex,因为小项目使用 Vuex 可能会比较繁琐冗余;

  b.中大型单页应用,因为要考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择;

三、对于使用Vuex的理解是什么?

  由于Vue是单向数据流,子组件内部不能直接修改从父级传递过来的数据,子组件与子组件之间无法相互传递数据。如果我们想让两个子组件之间进行通信的话,可以借助子组件 A 向父组件传值,父组件接收子组件 A 的数据后再传给 B 组件这样的方式进行通信。

  但是这样会有一个问题,就是如果子组件 A 的父组件上面还有一层爷爷组件,或者还有更多祖父类型的层级,那么是不是会很麻烦。

  因此,我们会想到能不能我们将一个共有的数据存在一个特定的地方,用的时候自己去拿,这样就不需要一层层传值,于是乎 Vuex 就应运而生了。

  

 

 

 

四、vuex由五部分组成(五种状态/五种属性)

  

  • state: 数据

  • actions:可以包含异步操作

  • mutations: 唯一可以修改state数据的场所

  • getters: 类似于vue组件中的计算属性,对state数据进行计算(会被缓存)

  • modules:模块化管理store(仓库),每个模块拥有自己的 state、mutation、action、getter

  

五、安装配置

  第一步:npm i vuex --save/-S

  第二步: 创建store.js

  第三步:挂载使用 Vue.use(vuex)

  第四步:const store = new Vuex.Store({...配置项})

  第五步:导出 export default store

  第六步:导入main.js 在根实例配置 store 选项指向 store 实例对象

  具体操作步骤:

  安装

npm install vuex

  创建store.js 

import Vue from 'vue'
// 初始化一个vuex的实例(数据仓库) 导出即可
import Vuex from 'vuex'
import axios from 'axios'

// 使用安装
Vue.use(Vuex)

// 初始化,并声明:state,mutations,actions,getters等属性
export default new Vuex.Store({
  state: {
    // 所有的任务列表
    list: [],
    // 文本框的内容
    inputValue: 'aaa',
    // 下一个Id
    nextId: 5,
    viewKey: 'all'
  },
  mutations: {
    // 清除已完成的任务
    cleanDone(state) {
      state.list = state.list.filter(x => x.done === false)
    },
    // 修改视图的关键字
    changeViewKey(state, key) {
      state.viewKey = key
    }
  },
  actions: {
    getList(context) {
      axios.get('/list.json').then(({ data }) => {
        // console.log(data)
        context.commit('initList', data)
      })
    }
  },
  getters: {
    // 统计未完成的任务的条数
    unDoneLength(state) {
      return state.list.filter(x => x.done === false).length
    },
  }
})

  把store对象挂载到Vue实例中,可以在main.js 中进行绑定

import store from './store.js'
import App from './App.vue'

new Vue({
  render: h => h(App),
  store
}).$mount('#app')

 

标签:Vue,Vuex,js,学习,state,使用,组件,VUEX,store
From: https://www.cnblogs.com/zjdxr-up/p/17056489.html

相关文章

  • 欢迎使用 MWeb
    MWeb是专业的Markdown写作、记笔记、静态博客生成软件,目前已支持Mac,iPad和iPhone。MWeb有以下特色:软件本身:使用原生的macOS技术打造,追求与系统的完美结合。原......
  • Matplotlib学习笔记2 - 循序渐进
    Matplotlib学习笔记2-循序渐进调整“线条”在Matplotlib中,使用plot函数绘制的线条其实是一种特定的类,matplotlib.lines.Line2D。线条有许多参量可调整,例如宽度、样式、......
  • 算法学习笔记(11): 原根
    原根此文相对困难,请读者酌情食用在定义原根之前,我们先定义其他的一点东西阶通俗一点来说,对于\(a\)在模\(p\)意义下的阶就是\(a^x\equiv1\pmodp\)的最小正......
  • 9.使用JavaConfig实现配置
    要完全不使用Spring的xml配置了,全权交给Java来做!JavaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能!实体类packagecom.zuo.entity;importorg.sp......
  • 53rd 2023/1/16 平衡树学习总结
    好久没打总结了,差不多有\(\frac16\)年,是一大失误,以后会继续坚持数据结构介绍首先,架构是一颗二叉搜索树即中序遍历为递增or递减序左子树小于根节点小于右子树请自......
  • 学习模式-组合模式
    组合模式组合模式(CompositePattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的......
  • 使用 Excel cdata addmin 连接 SAP ABAP 系统时需要填写的参数定义解释
    这个链接包含了一个能够直接在Excel里连接SAPABAP系统的Exceladdin,安装之后,在Excel里看到一个新的名叫cdata的标签页,维护目标ABAP系统的明细后,可以直接在Ex......
  • .NET 云原生架构师训练营(基于 OP Storming 和 Actor 的大型分布式架构三)--学习笔记
    目录为什么我们用OrleansDaprVSOrleansActor模型Orleans的核心概念结合OPStorming的实践结合OPStorming的实践业务模型设计模型代码实现代码实现......
  • 使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数
    从77开始的连续三篇文章,我们了解ABAP程序中变量占用内存空间的话题。通过一位读者朋友向我咨询过的实际问题,介绍了使用OPENCURSOR和FETCHNEXTCURSOR这组ABAP......
  • adg3304使用注意事项
    1.常见的电平转换芯片有74LVC4245,74LVC8T245,这两个芯片有方向和使能控制引脚。 ADG3304有使能脚,但是没有方向选择脚。2.3304不用的引脚不允许悬空,必须接vcc或者gnd。3.......