VUEX

摘要:
当4号组件需要传递数据给6号组件时需要经过3、2、1、5这四个组件之后方能将数据传递,当项目庞大时,所需要经过组件会更多右侧图片是使用了vuex进行数据通信。使用vuex的好处:1、集中管理共享数据,易于开发和后期维护。

在Vue中组件之间的共享数据的方式:
1、父组件向子组件传值:v-bind 属性绑定
2、子组件向父组件传值:v-on 事件绑定
3、兄弟组件之间进行传值:EventBus
$on 接收数据的那个组件
$emit 发送数据的那个组件

上面的3种方式适用于小项目中的组件通信,当项目变的庞大的时候,就有些力不从心了。

VUEX第1张

上图中,左侧图片是未使用vuex进行数据传递的。当4号组件需要传递数据给6号组件时需要经过3、2、1、5这四个组件之后方能将数据传递,当项目庞大时,所需要经过组件会更多

右侧图片是使用了vuex进行数据通信。当组件4将数据放入到STORE中后,其他组件只需要从STORE中获取即可。

使用vuex的好处:

1、集中管理共享数据,易于开发和后期维护。

2、高效实现组件之间的数据共享,提高开发效率。

3、存储在vuex中的数据都是响应式的,能够实时保持数据与页面的同步。

只有组件之间共享的数据才需要存到vuex中,组件的私有数据还是存放在自身的data中。

1、安装vuex依赖包:npm install vuex --save。

2、导入vuex包:  import Vuex from 'vuex'

Vue.use(Vuex)

3、创建store对象: const store=new Vuex.Store({

state:{count:0}//state中存放的就是全局共享数据。

})

4、将store挂载到vue实例中:

new Vue({

el:'#app',

render:h =>h{app},

router,

store

})

免责声明:文章转载自《VUEX》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C#反射动态调用dll中的方法,并返回结果[转]dnsperf下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue 格式化时间

export default{ filters: { formatDate(time) { var date = newDate(time); var year=date.getFullYear(); var month=da...

vue中Axios的封装和API接口的管理

前端小白的声明: 这篇文章为转载:主要是为了方便自己查阅学习。如果对原博主造成侵犯,我会立即删除。 转载地址:点击查看 如图,面对一团糟代码的你~~~真的想说,What F~U~C~K!!! 回归正题,我们所要的说的axios查看更多关于 axios 的文章 的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。 一、ax...

2/3 初次搭建 Vue 项目遇到的问题汇总

  今天步子扯开的有点大   初步看了一下 Vue-router 然后就开始用脚手架 Vue-cli 来搭建第一个项目了   遇到的问题确实很多,还有一些疑问,自己查资料都大致解决了一部分   ( 推荐还是理解了一部分的有缘人 进行阅读理解 如果有错 请大家指正 )   按照流水账来说一下 首先是 Vue-router    这里先简单谈一下,我的理解  ...

vue3+ts +vant 从0搭建移动端架子

1. 前期准备 安装node,vue3,vscode 1.1 安装更新脚手架npm install -g @vue/clinpm update -g @vue/cli 1.2 vscode 插件Volar ,Vue 3 Snippets 开发vue3时需要关闭vetur插件 2. vue3官网 https://v3.cn.vuejs.org/ vant 官...

零基础 Vue 开发环境搭建 打开运行Vue项目

【相关推荐】IntellIJ IDEA 配置 Vue 支持 打开Vue项目 所需文件 node.js环境(npm包管理器)(node-v8.11.3-x64.msi)(npmV5.6.0) cnpm npm的淘宝镜像 vue-cli 构建工具(脚手架) 一、安装node 安装完node,就自动在path里增加环境变量,但是为了以后的本地部署项目,我们需要找...

Vue上传文件:ElementUI中的upload实现

一、上传文件实现   两种实现方式: 1、直接action <el-upload class="upload-file" drag :action="doUpload" :data="pppss"> <i class="el-icon-upload"></i> <div clas...