首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >VUE2.0 学习(二十八)vuex 综合学习,项目中如何使用vuex,一步一步带你使用

VUE2.0 学习(二十八)vuex 综合学习,项目中如何使用vuex,一步一步带你使用

作者头像
一写代码就开心
发布2022-05-09 09:56:01
发布2022-05-09 09:56:01
57400
代码可运行
举报
文章被收录于专栏:java和pythonjava和python
运行总次数:0
代码可运行

目录

  • 什么是vuex
  • 多组件共享数据
  • vuex
  • vuex 工作原理
    • state
  • 搭建vuex 环境
    • 1 安装
    • 2 这个是一个插件,现在使用插件
    • 3 总结
    • 4 变量需要经过一定的操作 getters
    • 5 页面上面获取vuex里面的state里面值,一直写固定语句,如何简写
    • 6 页面上面获取vuex里面的getter里面值,一直写固定语句,如何简写
    • 7 优化从vuex里面拿方法的代码
  • vuex里面的模块化
    • namespane (1)
    • namespane (2)

什么是vuex

他是一个插件

多组件共享数据

一个组件A里面的数据,有n多个组件需要用这个数据,那么可以用事件总线进行实现这个功能,但是这些n多个组件都要一个组件里面的数据,事件总线是可以实现,但是不好实现。

vuex

这个就是一个共享区域,将共享的数据放到这个区域,以后哪个组件想要获取这些数据,或者修改数据,直接从这个区域拿就可以了。

vuex 工作原理

state

这个就是存放数据的,可以保存很多的数据

搭建vuex 环境

1 安装

2 这个是一个插件,现在使用插件

因为管理vuex的是store仓库,这个仓库管理

所以我们需要创建 actions mutations state 3个的对象,并且创建store对象,store对象要使用那3个对象,代码的写法是(按照这个逻辑写就行,要和我写的框架一样)

index .js 里面的代码是

代码语言:javascript
代码运行次数:0
运行
复制
//该文件用于创建Vuex中最为核心的store
import Vue from 'vue'
//引入Vuex
import Vuex from 'vuex'
//应用Vuex插件
Vue.use(Vuex)

//准备actions--------——用于响应组件中的动作
//对象里面的东西改为自己的
const actions = {

	jiaOdd(context,value){
		console.log('actions中的jiaOdd被调用了')
		if(context.state.sum % 2){
			context.commit('JIA',value)
		}
	},
	jiaWait(context,value){
		console.log('actions中的jiaWait被调用了')
		setTimeout(()=>{
			context.commit('JIA',value)
		},500)
	}
}
//准备mutations——===========用于操作数据(state)
//对象里面的东西改为自己的
const mutations = {
	JIA(state,value){
		console.log('mutations中的JIA被调用了')
		state.sum += value
	},
	JIAN(state,value){
		console.log('mutations中的JIAN被调用了')
		state.sum -= value
	}
}
//准备state——用于存储数据
//对象里面的东西改为自己的
const state = {
	sum:0 //当前的和
}

//创建并暴露store
// key   value  相同,用简写
export default new Vuex.Store({
	actions,
	mutations,
	state,
})

创建完成上面的东西,在main.js里面引入这个index.js

以上代码完成之后,vm身上就有store 这个仓库了。

3 总结

vuex 就是一个插件,里面有一个store仓库,学习vuex最主要的就是学习这个store仓库

我们自己写index.js。里面就是插件store仓库,之后将多个组件都需要使用的变量放到这个store里面,之后在组件里面进行使用这个store仓库,那么组件里面是如何进行使用呢?

写法是这样:

这个是组件里面的代码

4 变量需要经过一定的操作 getters

就是vuex里面的变量,需要一定的复杂的操作 给用户使用,如何写

5 页面上面获取vuex里面的state里面值,一直写固定语句,如何简写

页面上面获取vuex值,一直写固定语句

一直再写截图中的那个,我们如何简写,我们可以使用计算属性,在计算属性里面写那些,页面直接写简单的语句就可以。

但是这些计算属性还得自己写,有没有自动生成这些计算属性的方法,有,vuex里面有一个函数,就自动给生成计算属性,但是你需要传计算属性的名字和要拿state里面的哪个变量,代码是

还可以简化一下

6 页面上面获取vuex里面的getter里面值,一直写固定语句,如何简写

7 优化从vuex里面拿方法的代码

我们之前要从vuex里面传参,需要commit 和 dispatch方法,

现在需要简化,有一个方法生成

vuex里面的模块化

现在的vuex里面的store代码,现在只是一个文件,以后不可能每一个程序员都操作这个文件,因为会出现 git版本冲突

namespane (1)

我们可以裁开写

A, B用户各写一个自己的state 仓库

里面的东西 还是只写写的,但是多了一个属性 namespaced ,值为true,然后页面就可以使用简写形式,不然不能。

index.js里面进行注册

namespane (2)

vue组件里面还可以这样写

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 什么是vuex
  • 多组件共享数据
  • vuex
  • vuex 工作原理
    • state
  • 搭建vuex 环境
    • 1 安装
    • 2 这个是一个插件,现在使用插件
    • 3 总结
    • 4 变量需要经过一定的操作 getters
    • 5 页面上面获取vuex里面的state里面值,一直写固定语句,如何简写
    • 6 页面上面获取vuex里面的getter里面值,一直写固定语句,如何简写
    • 7 优化从vuex里面拿方法的代码
  • vuex里面的模块化
    • namespane (1)
    • namespane (2)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档