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 挂载属性




相关文章
|
前端开发 开发者 容器
|
网络协议 Ubuntu 前端开发
如何在操作使用ufw设置防火墙
如何在操作使用ufw设置防火墙
|
JavaScript Java 测试技术
基于SpringBoot+Vue的大学生志愿者管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的大学生志愿者管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
188 0
|
缓存 Ubuntu Linux
在Linux中,如何进行系统更新和升级?
在Linux中,如何进行系统更新和升级?
|
算法 关系型数据库 UED
|
传感器 数据中心
|
监控 调度
硬件计时器
硬件计时器
239 0
|
安全 数据处理 数据安全/隐私保护
【专栏】IT 知识百科:理解基站工作原理和作用,有助于我们更好地认识通信技术的影响
【4月更文挑战第28天】基站(BTS)是无线通信的关键,包括宏基站、微基站、皮基站和飞基站,它们构建起通信网络,确保稳定服务。基站通过接收、解调、处理和转发信号实现通信。它们提供覆盖、保障通信质量、支持数据传输并推动技术发展。基站建设涉及选址、安装和维护,且其电磁辐射在安全范围内。理解基站工作原理和作用,有助于我们更好地认识通信技术的影响。
1741 0
|
移动开发 JavaScript 前端开发
Vue与React:核心异同点解析
Vue与React:核心异同点解析
570 0
|
网络协议
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
计算机网络:TCP协议的三次握手和四次挥手与UDP协议区别.
109 0