vuex-0-基础概念

简介: 1.Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。2.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测 的方式发生变化3.Vuex 也集成到 Vue 的官方调试工具

1.前言


what  vuex

1.Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

2.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测 的方式发生变化

3.Vuex 也集成到 Vue 的官方调试工具


2. what “状态管理模式


简单 经典的计数器案例 为引子


<template>
  <div id="one">
    <p>{{ count }}</p>
    <button @click="addCount()">增加</button>
  </div>
</template>
<script>
export default {
  data: function () {
    return {
      count: 1,
    };
  },
  methods: {
    addCount() {
      this.count++;
    }
  }
};
</script>



3. 分析下 上面案例的状态管理


state,驱动应用的数据源;

view,以声明方式将 state 映射到视图;

actions,响应在 view 上的用户输入导致的状态变化。

“单向数据流”理念的简单示意

XI8@0FYXLDN~%E%`S55$BA4.png

state.png

多个组件共享状态时,单向数据流的简洁性很容易被破坏:原因如下

多个视图依赖于同一状态。

来自不同视图的行为需要变更同一状态。

把组件的共享状态抽取出来,以一个全局单例模式管理

Vuex 是专门为 Vue.js 设计的状态管理库,以利用 Vue.js 的细粒度数据响应机制来进行高效的状态更新

9V(M8ZEW8_JEEHJ4]9QQ@XA.png

vuex.png


4. 安装


vue-cli

可以创建项目的是 配置这个 vuex 这样,生成的项目会有基础的配置,比如目录.引用

或者是  vue add vuex  这样,生成的项目也会有基础的配置,比如目录.引用

npm 安装

npm install vue --S

需要 简单的配置


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



5. 来一个小练习 先体会下


组件 A 模板 重点


<button @click="add()">传给兄弟组件 -- {{num}}</button>

组件 A 传值

重要 的是创建了一个 中间 Vue 实例对象 用于周转

这个就是 事件中心  event bus


创建一个空的vue实例对象,目的是实现兄弟组件之间的交互
var bus = new Vue({});
    add(){
        this.num++;
    // /当组件需要给其他组件传值时,可以调用总线bus的$emit发射一个事件,需要接收这个传值的组件监听这个事件即可。
        bus.$emit("changeData",this.num);
    },


组件B

核心代码 是监听 组件A 的事件


created(){
                // 此时this指代自定义的f_view对象,记录该对象
                var _this = this;
                console.log(this);
                //  接收传值的组件需要监听总线bus上的传值事件
            // 通过bus.$on添加总线事件监听,第一个参数是监听的事件类型,第二个参数是事件绑定的函数,事件函数的参数就是发射事件时所传递的参数。
                bus.$on("changeData",function(a){
                    // 此时的this指代vue实例tempVe对象
                    // a接收事件发射传递过来的num值 --- h_view中的数据源 
                    console.log(a);
                    _this.count = a;
                });
            }



6. vuex


  1. 并不是所有的项目都适合 用vuex,适合自己的才是最好的
  2. 还有哪些可以变向管理状态或者说 页面共享数据
  3. dataset
  4. cookie
  5. storage
  6. 极端情况 window 挂载属性




相关文章
|
9天前
|
存储 JavaScript API
Vue状态管理深度剖析:Vuex vs Pinia —— 从原理到实践的全面对比
Vue状态管理深度剖析:Vuex vs Pinia —— 从原理到实践的全面对比
17 2
|
22小时前
|
JavaScript
vue基础概念(1)
vue基础概念(1)
6 0
|
10月前
|
存储 JavaScript 开发者
几句话带你理解Vuex基础概念
几句话带你理解Vuex基础概念
48 0
|
6月前
|
存储 JavaScript 前端开发
vuex入门
vuex入门
40 0
|
存储 JavaScript 数据管理
Vue —— 进阶 Vuex(零)(概念、工作原理、环境搭建、基本使用、getters)
Vue —— 进阶 Vuex(零)(概念、工作原理、环境搭建、基本使用、getters)
|
前端开发
前端学习笔记202304学习笔记第十一天-vue3.0-了解vuex的概念和好处
前端学习笔记202304学习笔记第十一天-vue3.0-了解vuex的概念和好处
52 0
|
前端开发
前端学习笔记202304学习笔记第十一天-vue3.0-了解vuex的概念和好处
前端学习笔记202304学习笔记第十一天-vue3.0-了解vuex的概念和好处
44 0
|
XML JavaScript 前端开发
【vue3】基础概念的介绍
vue3的初步认识,对比vue2升级点以及React框架区别
【vue3】基础概念的介绍
|
缓存 JavaScript
【Vue 开发实战】生态篇 # 17:Vuex核心概念及底层原理
【Vue 开发实战】生态篇 # 17:Vuex核心概念及底层原理
99 0
【Vue 开发实战】生态篇 # 17:Vuex核心概念及底层原理
|
存储 JavaScript 开发工具