vue---vuex与全局对象的区别及使用
目 录一、vuex与全局对象的区别:二、vue定义全局变量三、vue定义全局方法四、vuex使用一、vuex与全局对象的区别:首先,来看看vuex官网对vuex与全局对象两者的区别描述。每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同:...
目 录
一、vuex与全局对象的区别:
首先,来看看vuex官网对vuex与全局对象两者的区别描述。
每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同:
Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用
(1)vuex用于做状态管理,主要是应用于vue.js中管理数据状态的一个库,通过创建一个集中的数据存储,供程序中所有组件访问,实现组件之间的传值。并且一个组件的数据变化会映射到使用这个数据的其他组件。
(2)vuex由统一的方法修改数据,全局变量可以任意修改。
(3)全局变量多了会造成命名污染,vuex不会,同时解决了父组件与孙组件,以及兄弟组件之间通信的问题。
二、vue定义全局变量
方法一:新建全局【global.js】文件,并在其中定义变量并导出,在使用的组件中引入该【global.js】文件,可为全局变量赋值(任意修改)或使用其值。
方法二:在【main.js】中引入【global.js】:【import global from "../api/global.js";】,并通过【Vue.prototype.global=global】挂载到vue实例上,在其他组件中通过【this.global.authorization】调用。
三、vue定义全局方法
直接将方法写在【main.js】中,在组件中通过this.方法名 调用。
四、vuex使用
更多推荐
所有评论(0)