1.父组件通过props属性给子组件通信

//父组件
<template>
<child :show="is_showshare" :age="age"></child>
</<template>
<script>
import child from '@/components/child'export default{data(){return{is_showshare:false,age:10} },components:{child}
}
</script>//子组件
//方法一
<template><div v-show="show">分享</div>
</<template>
<script>export default{props:['show']}</script> //方法二<template><div v-show="show">分享</div></<template>
<script>export default{props: {// 检测类型show: [Boolean,Number],// 检测类型 + 其他验证age: {type: Number,default: 0,//设置默认值required: true,//必填validator: function (value) {//自定义验证函数return value >= 0}}
}

props 可以是数组或对象,用于接收来自父组件的数据。props 可以是简单的数组,或者使用对象作为替代,对象允许配置高级选项,如类型检测、自定义校验和设置默认值。

2.子组件触发父组件
父组件自定义一个事件hideshare,子组件通过this.$emit()来触发绑定的事件hideshare,然后父组件监听hideshare,一旦hideshare被触发便会触发父组件的parenthide方法。

//父组件
<template>
<child :show="is_showshare" :age="age" @hideshare="parenthide"></child>
</<template>
<script>export default{data(){return{is_showshare:false,age:10}},methods:{parenthide:function(v){console.log('hideshare',v);//'hideshare' falsethis.is_showshare=false;}}
}
</script>//子组件
<template><div v-show="show">分享<p @click="hide">隐藏分享</p></div>
</<template>
<script>export default{props:['show'],methods:{hide:function () {this.$emit('hideshare',false)}} }</script> 

3.兄弟组件通信
借助于一个公共的Vue的实例对象,不同的组件可以通过该对象完成事件的绑定和触发

index.vue里有2个兄弟组件,c1.vue,c2.vue,点击c2组件里边添加点击事件,在c2组件里打印出点击的是哪个dom元素

<template>
<div><c1></c1><c2></c2></div>
</template>
<script>import showv from '@/components/show.vue'import clickv from '@/components/click.vue'
export default {name: "index",components:{showv,clickv}
}
</script>

1.新建一个公共的Vue的实例对象

com.js

import Vue from 'vue'
export  default new Vue();

2.c1.vue里触发事件

<template>
<div @click="doclick($event)">click</div>
</template>
<script>import com from '@/components/com.js'export default{name: "",data(){},methods: {doclick(event){com.$emit('gettarget',event)}}}
</script>

3.c2.vue事件绑定

<template><div> show</div>
</template>
<script>
import com from '@/components/com.js'export default{name: "",created(){com.$on('gettarget',target=>{console.log('兄弟组件通信成功',target);})}}
</script>

关于vue2.0组件通信相关推荐

  1. vue2.0 组件通信

    组件通信: 子组件要想拿到父组件数据 props 子组件不允许直接给父级的数据, 赋值操作如果想更改,父组件每次穿一个对象给子组件, 对象之间引用. 例子: <script> window ...

  2. vue2.0组件之间的通信

    官方建议可以直接使用一个空vue实例来处理简单的事件触发机制 var bus = new Vue(); bus.$emit('create',{title:'name'}); bus.$on('cre ...

  3. Vue2.0组件实现动态搜索引擎(二)

    接上一篇,完成logo部分我们就要开始整个项目的核心--panel组件. 整个panel组件分为3个部分:关键字输入框,相关搜索建议下拉列表和搜索跳转按钮. 由于我们整个项目是设计成父子组件的架构所以 ...

  4. vue2.0组件生命周期探讨

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>vue ...

  5. Vue2.0组件注册

    组件注册分为全局注册 和 局部注册 import 名称 from '包地址'//app.component用来对组件进行全局注册 app.component('my-swiper' ,'导包时使用的名 ...

  6. Vue2.0 组件文本超出3行显示... 点击查看更多可以查看全部内容(展开收起)

    效果 <template><div ref="txttype" class="bottom"><div :class=" ...

  7. 项目vue2.0仿外卖APP(五)

    header组件 vue-resourse应用 https://github.com/pagekit/vue-resource vue-resource是Vue.js的一款插件,它可以通过XMLHtt ...

  8. Vue3 - 组件通信(父传子)

    前言 在 Vue3 中,父组件向子组件传参的方法. 与 Vue2 相比,还是有一些区别的. 基础示例 现在我们的需求是,要通过父组件,传递一个标题来让子组件显示. 子组件 Com.vue: <t ...

  9. vue组件通信案例练习(包含:父子组件通信及平行组件通信)

    文章目录 一.案例概述 二.代码 准备工作: 案例1.1:父组件向子组件传值(或者叫:子组件使用父组件属性),采用v-bind方式实现 案例1.2:子组件向父组件传值(或者叫:子组件调用父组件方法), ...

最新文章

  1. php solr 更新数据类型,Solr更新文档数据
  2. Java swing是什么?有什么作用?
  3. 强烈推荐7个让人惊艳的宝藏实用网站,太好用了
  4. 关于域用户的离线缓存登录知识分享
  5. 索引文件核心头文件定义
  6. Jquery插件使用 焦点图插件 MyFocus ,另外记录一款插件 KinMaxShow大背景图插件。...
  7. 图神经网络(一)图信号处理与图卷积神经网络(2)图信号与图的拉普拉斯矩阵
  8. 提防Java中的函数式编程!
  9. 计算机磁盘管理使用不,win10系统提示“操作无法完成,因为磁盘管理控制台不是最新状态”的处理方法...
  10. How to show only next line after the matched one?
  11. C#3.0 语言基础扩充
  12. linux tricks 之数据对齐。
  13. Linux字符设备驱动内幕
  14. Foxmail7.0.1.86升级有风险
  15. Java将图片放入word文档中
  16. 不用工具,如何快速计算文件的MD5?
  17. 华为无线网代理服务器端口是什么意思,华为ES1D2G48SFA0 48端口十兆/百兆/千兆以太网电接口板(FA,RJ45) (适用于华为S7700系列交换机)...
  18. 【Kruskal】Uva 1395 Slim Span
  19. mysql-5.7.11-winx64_mysql 5.7.11 winx64安装配置教程
  20. Excel表格的密码设置与取消

热门文章

  1. Python零碎知识(8):模块的学习|资源利用
  2. Matplotlib实例教程(十七)3D山体图
  3. Java中导入错误的jar所引发的问题
  4. 乐视秒杀架构解读:从零开始搭建百万每秒订单系统
  5. 高并发,高性能的一点调研
  6. 大火系列: Rust入门篇 mut
  7. 马云:蚂蚁金服这样做区块链!
  8. GBDT(Gradient Boosting Decision Tree
  9. Spring-AOP 自动创建代理之BeanNameAutoProxyCreator
  10. Linux-压缩成带有时间文件名的文件