1. vue中各个组件之间传值
1. 父子组件
父组件-->子组件,通过子组件的自定义属性:props
子组件-->父组件,通过自定义事件:this.$emit('事件名',参数1,参数2,...);
2. 非父子组件或父子组件
通过数据总数Bus,this.$root.$emit('事件名',参数1,参数2,...)
3. 非父子组件或父子组件
更好的方式是在vue中使用vuex
简介
Vuex 是一个专为 Vue.js 应用程序开发的**状态管理模式**。可以想象为一个“前端数据库”(数据仓库),让其在各个页面上实现数据的共享包括状态,并且可操作
每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的**状态 (state)**。Vuex 和单纯的全局对象有以下两点不同:
1. Vuex 的状态存储是**响应式**的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
2. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地**提交 (commit) mutation**。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。
Vuex分成五个部分:
3. State:单一状态树
4. Getters:状态获取
5. Mutations:触发同步事件
6. Actions:提交mutation,可以包含异步操作
7. Module:将vuex进行分模块
vuex使得步骤
安装
npm install vuex -S
创建store模块
完成形式:
store
index.js
state.js
actions.js
mutations.js
getters.js
常用形式:
vuex
store.js
store.js
```
import Vue from 'vue';
import Vuex f