通过props 及 $emit在父子组件通讯,对应频繁更新状态考虑使用vuex

store.js

  1. export default {
  2. // 存储状态值
  3. state: {
  4. count: 0
  5. },
  6. // 状态值的改变方法,操作状态值
  7. // 提交mutations是更改Vuex状态的唯一方法
  8. mutations: {
  9. // 修改state,第一个参数就是state
  10. increment(state) {
  11. state.count++
  12. }
  13. }
  14. }
    ....

父组件.vue

  1. <template>
  2. <div>
  3. <child :message="changeMsg" @chageMsg="prent"></child>
  4. <input type="button" value="父传子" @click="changeMsga">
  5.  
  6. <p>父组件文字:{{fromchildMsg1}}</p>
  7.  
  8. <p>count:{{ $store.state.count }}</p>
  9. <input type="button" value="父组件按钮Count++" @click="parentEvent">
  10. </div>
  11.  
  12. </template>
  13. <script>
  14. import child from '@/components/Home2'
  15. export default {
  16. data: function () {
  17. return {
  18. changeMsg: '1111111',
  19. childMsg: '',
  20. fromchildMsg1: ''
  21. }
  22. },
  23. methods: {
  24. parentEvent: function () {
  25. this.$store.commit('increment');
  26. },
  27. changeMsga: function () {
  28. this.changeMsg = '公司'
  29. },
  30. prent: function (msg) {
  31. this.fromchildMsg1 = msg;
  32. }
  33. },
  34. components: {
  35. child
  36. }
  37. }
  38.  
  39. </script>
  40. <style scoped>
  41.  
  42. </style>

子组件.vue

  1. <template>
  2. <div>
  3. 获取值:<span>{{message}}</span><br>
  4. <input type="button" value="子组件" @click="submitValue">
  5. <p>count:{{ $store.state.count }}</p>
  6. <input type="button" value="子组件按钮Count++" @click="childEvent">
  7. </div>
  8. </template>
  9. <script>
  10. export default {
  11. data: function () {
  12. return {
  13.  
  14. }
  15. },
  16. props:['message'],
  17. methods: {
  18. childEvent: function(){
  19. this.$store.commit('increment')
  20. },
  21. submitValue: function(){
  22. this.$emit("chageMsg",'222222222222222');
  23. }
  24. }
  25. }
  26.  
  27. </script>
  28. <style scoped>
  29.  
  30. </style>

初始化会看到,比较low的页面

父子组件传值,箭头

父子组件状态更改 ,点击 (父子组件按钮)会,发现 父子组件数组都在+1.

针对刷新,状态信息无,可以使用本地缓存localstorage

vue 状态管理vuex(九)的更多相关文章

  1. Vue状态管理vuex

    前面的话 由于多个状态分散的跨越在许多组件和交互间各个角落,大型应用复杂度也经常逐渐增长.为了解决这个问题,Vue提供了vuex.本文将详细介绍Vue状态管理vuex 引入 当访问数据对象时,一个 V ...

  2. Vue学习日记(四)——Vue状态管理vuex

    前言 先说句前话,如果不是接触大型项目,不需要有多个子页面,不使用vuex也是完全可以的. 说实在话,我在阅读vuex文档的时候,也很难以去理解vuex,甚至觉得没有使用它我也可以.但是直到我在项目碰 ...

  3. vue状态管理vuex从浅入深详细讲解

    1.vuex简介以及创建一个简单的仓库 vuex是专门为vue框架而设计出的一个公共数据管理框架,任何组件都可以通过状态管理仓库数据沟通,也可以统一从仓库获取数据,在比较大型的应用中,数据交互庞大的情 ...

  4. Vue状态管理Vuex简单使用

    状态管理保存在store\index.js中,简单说明如下 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export def ...

  5. Vue 状态管理 Vuex

    1.概述 Vuex作为插件,管理和维护整个项目的组件状态. 2.安装vuex cnpm i --save vuex 3.vuex使用 github地址:https://github.com/MengF ...

  6. Vue之状态管理(vuex)与接口调用

    Vue之状态管理(vuex)与接口调用 一,介绍与需求 1.1,介绍 1,状态管理(vuex) Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态 ...

  7. vue - 状态管理器 Vuex

    状态管理 vuex是一个专门为vue.js设计的集中式状态管理架构.状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态.简单的说就是data中需要共用的属性.

  8. vuex(vue状态管理)

    vuex(vue状态管理) 1.先安装vuex npm install vuex --save   2.在项目的src目录下创建store目录,并且新建index.js文件,然后创建vuex实例,引入 ...

  9. VueX(vue状态管理)简单小实例

    VueX:状态管理 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 核心模块:State. ...

随机推荐

  1. 2用java代码实现冒泡排序算法(转载)

    import java.util.Scanner; public class Maopao { public static void main(String[] args) { System.out. ...

  2. ARC100C Linear Approximation

    传送门 分析 这道题真的好水呀QwQ,想必大家都知道对于式子|x-2|+|x-3|x取什么值可以使式子结果最小,这道题也是这个原理,只需要将要额外减的1.2.3……提前减掉就行了. 代码 #inclu ...

  3. 解决java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext问题

    使用ClassPathXmlApplicationContext加载项目时, ClassPathXmlApplicationContext context = new ClassPathXmlAppl ...

  4. SSH 前言(JDK静态代理和动态代理)

    代理模式:代理模式是为了增强目标对象 代理分静态代理和动态代理 静态代理逻辑是:比如定义一个ISomeService接口,接口里面有一个输出doSecond()的方法,然后目标类SomeService ...

  5. sql去掉换行符

    select replace(replace(ServiceCall,CHAR(13),''),CHAR(10),'') from outbound_complaint  where  bz1='朱成 ...

  6. python之编辑器pycharm

    在进行python开发的时候,习惯使用pycharm这个编辑器进行开发工作,总结一些常用到的功能点 常用功能: 1. 打开当前文件所在的目录 在文件右击 -> Show in Exploer   ...

  7. Kafka 练习题

    一.选择题 Kafka服务器默认能接收的最大消息是多大? (单选) A A:1M B:10M C:100M D:没有大小限制,因为支持大数据 2.Kafka的特性(多选)  ABCD A:高吞吐量.低 ...

  8. 【谁知道C#字段为什么用属性封装?】

    源地址:https://zhidao.baidu.com/question/1174413218458798139.html 我们知道,类成员包括变量和方法.如果希望其他类能够访问成员变量的值,就必须 ...

  9. sql开发技巧总结-2

    ---恢复内容开始--- 1.如何进行行列转换 需求: 列转换成行 select a.`user_name`,sum(b.kills) from user1 a join user_kills b o ...

  10. Python学习过程(三)

    今天我们来学习怎么从网络上抓取我们想得到的信息,要从网页上得到我们的信息,首先是从网络上通过url获取页面 的文本,先从最简单的开始,比如获取百度首页的html. 对应代码如下: 获取网页html源码 ...