栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Vue.js

vue 6种通信总结

Vue.js 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

vue 6种通信总结

序言:更新源代码

6个分支,不懂的切换分支,可以直接在src文件替换vue-props文件夹里面文件
下载文件记得先安装依赖,npm install
然后在启动 npm run dev

常用vue通信大概有这几种方式进行:
  • 组件间的父子之间的传值

  • 组件间的子父之间的传值

  • 非组件间的组件间的传值(简称:EventBus)

  • sessionStorage缓存传值

  • 路由带参数跳转进行传值

  • vuex进行传值

1. 组件间的父子之间的传值整理一下思路:父组件调用子组件dom位置声明一个名称,然后在子组件接收这名称,就可以直接调用父组件(谁是父组件个人理解:谁引用谁的组件,谁就是父组件)

image.png

子组件

image.png

2.组件间的子父之间的传值理一下思路:在子组件通过触发一个事件带值,让父组件接受这个事件,解析这个值子组件

image.png

父组件


image.png




3.非组件间的组件间的传值(简称:EventBus)

我先举个例子来解释下组件间的关联

组件A比作一个路由,通过中继器(eventBus.js)让其他房子接收到信号(组件B)

首先在src目录下创建一个eventBus.js文件,复制这行代码进去

import Vue from 'vue'let connect = new Vue()    // 实例export default connect
组件A

image.png

组件B

image.png

效果


sessionStorage组件A,感觉用法和上一篇差不多,就不在一一叙述

image.png

组件B

image.png

路由带参数跳转路由默认的页面

image.png

路由其他页面 children

image.png

效果


vuex主要做数据交互,维护公共状态或数据多看几遍这图,vuex 基本就会使用,多加运用就会更加熟练


src下创建一个store的文件夹,里面创建index.js文件

import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({   state: {   city: "上海"
   },   actions: {
     handleCity(ctx, city) {   // console.log(ctx, city)
       ctx.commit("handleCity", city)
    }
  },mutations: {
     handleCity(state, city) {
      state.city = city
   }
   }
})
某文件触发事件
methods: {
    handleCityClick(city) {
      this.$store.dispatch("handleCity", "北京");
    },

展示页面

{{this.$store.state.city}}



作者:艾尔丶Lawliet
链接:https://www.jianshu.com/p/eaa3a3b577a3


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/240662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号