IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 前端之vue的vuex插件(多组件共享数据) -> 正文阅读

[JavaScript知识库]前端之vue的vuex插件(多组件共享数据)

vuex插件

在这里插入图片描述

使用条件
在这里插入图片描述

实现多组件共享数据的方法

方法一:全局事件中线(乱)

在这里插入图片描述

方法二:vuex实现多数组共享数据√

在这里插入图片描述

vuex工作原理

在这里插入图片描述
如下图, 如果知道自己要做什么, 也知道数据可以跳过上方API
在这里插入图片描述
如下图,dispatch、commit方法都是store的。
在这里插入图片描述

vue2中使用vuex小结:

在这里插入图片描述
在这里插入图片描述
基本使用
在这里插入图片描述
在这里插入图片描述

vue3搭建vuex环境

步骤总览

在这里插入图片描述

简单vuex实例

在这里插入图片描述
state用于存储数据
getters 加工数据

1.命令行安装vuex
在这里插入图片描述
npm i vuex@版本
–save放入依赖

npm i vuex@4 --save

2.在main.js中引入并使用vuex创建一个store实例

/**
 * 本文件是整个项目的入口文件
 */
import { createApp } from 'vue'
import App from './App.vue'

// 1.引入vuex
import { createStore } from "vuex";

// 2.创建一个新的store
const store = createStore({
  state(){
    return{
      sum:0
    }
  },actions:{  

  }
  ,mutations:{

  }
})

const app=createApp(App)
// 3.将store实例作为插件安装
app.use(store)

app.mount('#app')

3.在模板中使用

<template>
  <div>
    <h1>当前求和为:{{ $store.state.sum }}</h1>
  </div>
</template>

4.发送到actions进行处理

  methods: {
    increment() {
      this.$store.dispatch("increment", this.selectNum);
    },
  }

4.在actions阶段, 用context参数调用commit进入mutations阶段,注意第一参数全部大写.

  actions:{
    increment(context,value){
      context.commit('INCREMENT', value)
    }
  },

如果跳过actions阶段,
commit直接进入mutations阶段
commit的第一个参数要全大写

  methods: {
    increment() {
      this.$store.commit("INCREMENT", this.selectNum);
    },
  },

5.在mutations内编写对应函数

const store = createStore({
  state(){
    return{
      sum:0,
    }
  },actions:{
	// 本次简单实例不用actions, 直接进行commit
  },mutations:{
    INCREMENT(state,value){
      state.sum+=value;
    },
  }
})

getters的使用

vuex实例中的getters用来对state内的数据进行加工使用
可以类比data和computed
1.在main.js中的vuex实例(即store)配置

const store = createStore({
  state(){
    return{
      sum:0,
    }
  },
  actions:{},
  mutations:{},
  getters:{
    bigSum(state){
      return state.sum*10;
    }
  }
})

2.在模板中使用{{ $store.getters.bigSum }}

<template>
  <div>
    <h1>当前求和为:{{ $store.state.sum }}</h1>
    <h2>当前求和扩大十倍后为:{{ $store.getters.bigSum }}</h2>
  </div>
</template>   

小结:
在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-21 18:52:15  更:2022-05-21 18:52:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:47:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码