【Vuex】Vuex详解,一篇文章搞懂Vuex详细使用过程和代码编写

本篇博客跟学视频链接:Vuex从入门到实战_bilibili

1. 组件之间数据共享

  • 父向子传值:v-bind 属性绑定

  • 子向父传值:v-on 事件绑定

  • 兄弟组件之间共享数据:EventBus

    • $on 接收数据的那个组件

    • $emit 发送数据的那个组件

2. Vuex概述

  • 实现组件全局(数据)管理的一种机制,可以方便的实现组件之间共享数据,不同于上述三种传递值的方式。
  • 可以把vuex当成一个store仓库,可以集中管理共享的数据,并且存储在vuex中的数据都是响应式的,数据与页面同步。
  • 一般情况下,只有组件之间共享的数据,才有必要存储到vuex中;对于组件中的私有数据,依旧存储在组件自身的data中。

3.Vuex基本使用

1)安装vuex依赖

npm install vuex --save

2)导入vuex包

import Vuex from 'vuex'
Vue.use(Vuex)

3)创建store对象

const store = new Vuex.Store({
   
   
    // state 中存放全局共享的数据
    state: {
   
   count:0}
})

4)store对象挂载到vue实例中

new Vue({
   
   
	el: '#app',
	render: h=>h(app),
	router,
	// 创建的共享数据挂载到vue实例
	// 所有组件能够直接从store中获取到全局的数据
	store
})

5)利用vue ui脚手架创建vue项目

复习一下吧:[保姆级教学]使用Vue ui创建一个完整的vue项目_使用vue ui创建vue项目-CSDN博客

  • 详见另一篇文档

3. 项目基础知识

1)格式化

  • 项目下创建文件.prettierrc,应与.gitignore同级,两句代码分别代表:去除分号,用单引号替换双引号。
{
   
   
    "semi": false, 
    "singleQuote": true
}

2)git提交

在这里插入图片描述

4. Vuex核心概念

1)State

  • State 提供唯一的公共数据源,所有共享的数据都要统一放到 Store 的 State 中进行存储。
 // 创建store数据源,提供唯一公共数据
 const store = new Vuex.Store({
   
   
 	state: {
   
    count: 0 }
 })
1:访问State方法一
  • 注意在唯一根组件template中,可以省略this不写

在这里插入图片描述

2:访问State方法二
  • 导入mapState并把所需要的State域中的属性映射为当前组件的计算属性。

在这里插入图片描述

<template>
    <div>
        <h3>当前最新的count值为:{
  
  { count }}}</h3>
        <button>-1</button>
    </div>
</template>

<script>
import {
     
      mapState } from 'vuex';
export default {
     
     
    data() {
     
     
        return {
     
     }
    },
    // 把State全局域中的数据映射为我当前组件的计算属性
    computed: {
     
     
        ...mapState(['count'])
    }
}
</script>

2)Mutation

store.js

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
   
   
  <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值