vuex的核心概念和基本使用是怎么样的
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,vuex的核心概念和基本使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。介绍Vuex是实现组件全局状态(数据)管理的一种机制
千家信息网最后更新 2025年01月19日vuex的核心概念和基本使用是怎么样的安装
①直接下载方式
NPM方式安装的使用方式
vuex的核心概念和基本使用是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
介绍
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享
开始
安装
①直接下载方式
创建一个 vuex.js 文件 将https://unpkg.com/vuex
这个网址里的内容放到该文件夹里。
②CND方式
③NPM方式
npm install vuex --save
④Yarn方式
yarn add vuex
NPM方式安装的使用方式
1.在 scr 文件里创建一个 store / index.js 的文件夹,写入以下内容。
import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({state: {},mutations: {},actions: {},modules: {}})
2.在main.js 里引入,然后挂载到 Vue 实例里
import Vue from 'vue'import store from './store'new Vue({ render: h => h(App), store}).$mount('#app')
store概念及使用
概念:
就是组件之间共享数据的。
只有 mutations 才能修改 store 中的数据
使用:
先定义后使用
定义
state: { num: 0}
使用
方式1(推荐)
{{ numAlias }}import { mapState } from 'vuex'export default { //计算函数 computed: mapState({ // 传字符串参数 'count' 等同于 `state => state.count` numAlias: 'num',//常用key是自己起的名随便 value接收的数据 // 箭头函数可使代码更简练 count: state => state.count, // 为了能够使用 `this` 获取局部状态,必须使用常规函数 countPlusLocalState (state) { return state.count + this.localCount } //可以定义其余的计算函数 }), //或者这样 //计算函数 computed: { mapState(['count']) }}
方式2
{{ $store.state.count }}
mutations概念及使用
概念:
修改store里的数据,严格规定不能在其余的地方修改store的数据,mutations里不要执行异步操作。
mutation 必须同步执行,不能异步执行。
使用:
先定义方法后使用
定义
mutations: { //increment自定义方法 store参数是store数据, parameter参数是接收到的数据,可不要 increment (state, parameter) { // 变更状态 state.num++ }}
使用
方式1(推荐使用)
import { mapState, mapMutations } from 'vuex'//方法methods: { ...mapMutations([ // mutations自定义的方法名 'increment' ]), love() { // 直接this调用 this.increment('需要传过去的数据,可不要') this.increment('Bin') }}
方式2
methods: { love() { // this.$store.commit('自定义的名称', '传过去的数据,可不传') this.$store.commit('increment', 'data') }}
action概念及使用
概念:
用于处理异步操作。
如果通过异步操作变更数据,必须通过action,而不能使用mutation,但是在action中还是要通过触发mutation的方式间接变更数据。
Action 类似于 mutation,不同在于:
Action 提交的是 mutation,而不是直接变更数据(状态)。
Action 可以包含任意异步操作。
定义
mutations: { //increment自定义方法 store参数是store数据, parameter参数是接收到的数据,可不要 increment (state, parameter) { // 变更状态 state.num++ }},actions: { //add 自定义方法 context是参数,可以把它当作vuex的实例 add(context) { //可以通过context.commit('mutations中需要调用的方法') context.commit('increment') }}
使用
方式1(推荐)
import { mapState, mapMutations, mapActions } from 'vuex'export default { methods: { ...mapActions([ 'add', // 将 `this.add()` 映射为 `this.$store.dispatch('add')` // `mapActions` 也支持载荷: 'add' // 将 `this.add(amount)` 映射为 `this.$store.dispatch('add', amount)` ]), ...mapActions({ add: 'add' // 将 `this.add()` 映射为 `this.$store.dispatch('increment')` }), love() { // 直接this调用 this.add('需要传过去的数据,可不要') this.add(data) } }}
方式2
methods: { love() { // this.$store.dispatch('自定义的名称', '传过去的数据,可不传') this.$store.dispatch('add', data) }}
getters概念及使用
概念:
getter用于对store中的数据进行加工处理形成新的数据。getting可以对store中已有的数据加工处理之后形成新的数据,类似Vue的计算缩写。
定义
state: { num: 0},getters: { doneTodos: state => { return state.num = 10 }}
使用
方式1(推荐)
{{ doneTodos }}import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'export default { //计算函数 computed: { ...mapState(['count']), ...mapmapGetters(['doneTodos']) }}
方式2
{{ $store.getters.doneTodos }}
看完上述内容,你们掌握vuex的核心概念和基本使用是怎么样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
数据
方式
方法
概念
可不
函数
参数
状态
内容
文件
推荐
组件
处理
核心
之间
名称
实例
文件夹
更多
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术应用教学案例
网站数据库怎么使用方法
服务器搭建自动化系统
软件开发公司招商专员
物流手机app软件开发
服务器如何查询cpu和内存
要求信息科人员对服务器进行激活
slq数据库有可靠性吗
数据库与云存储
bae服务器
肿瘤差异表达数据库
做网络安全有没有发展
卿斯汉密码学与计算机网络安全
数据库中使用注解存放list
手机广讯通服务器连接失败
杭州租服务器
专门做服务器运维的公司
nfv网络安全
员工网络安全心得
机柜的单板是服务器
c 如何判断数据库是打开
涉及网络安全的规范性文件是哪个
计算机网络技术职业之星
黑龙江网络安全等级保护
uiot智能家庭服务器
网络安全国际合作开题报告
广东科技学院计算机网络技术
网络安全法的配套法律之一
钱站网络安全吗
数据库er图的画法步骤