vuejs中父子组件之间通信方法实例详解


Posted in Javascript onJanuary 17, 2020

本文实例讲述了vuejs中父子组件之间通信方法。分享给大家供大家参考,具体如下:

一、父组件向子组件传递消息

// Parent.vue

<template>
 <div class="parent">
  <v-child :msg="message"></v-child>
 </div>
</template>
<script>
 import VChild from './child.vue'
 export default {
  components: {
   VChild
  },
  data () {
   return {
    // 父组件将message作为参数传入子组件中
    message: '来自父组件消息'
   }
  }
 }
</script>
// Child.vue
<template>
 <div class="child">
  <h1>child</h1>
  <p>{{ msg }}</p>
 </div>
</template>
<script>
 export default {
  // 通过props定义外部系统可以传入的参数
  // 定义了一个msg变量,类型是String,默认是空字符串
  props: {
   msg: {
    type: String,
    default: ""
   }
  }
 }
</script>
// router/index.js

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Parent from '@/test/Parent'
Vue.use(Router)
export default new Router({
 routes: [
  {
   path: '/',
   name: 'HelloWorld',
   component: HelloWorld
  },
  {
   path: '/parent',
   component: Parent
  }
 ]
})

二、子组件向父组件传递消息

// Parent.vue

<template>
 <div class="parent">
  <v-child :msg="message" @childNotify="childNotify"></v-child>
 </div>
</template>
<script>
 import VChild from './child.vue'
 export default {
  components: {
   VChild
  },
  data () {
   return {
    // 父组件将message作为参数传入子组件中
    message: '来自父组件消息'
   }
  },
  methods: {
   childNotify (params) {
    console.log(params)
   }
  }
 }
</script>
// Child.vue

<template>
 <div class="child" @click="notifyParent">
  <h1>child</h1>
  <p>{{ msg }}</p>
 </div>
</template>
<script>
 export default {
  // 通过props定义外部系统可以传入的参数
  // 定义了一个msg变量,类型是String,默认是空字符串
  props: {
   msg: {
    type: String,
    default: ""
   }
  },
  methods: {
   notifyParent () {
    var params = {
     m: 1,
     n: 2
    }
    // 子组件以事件的形式通知父组件(需要使用$emit方法,第一个参数,事件名称;第二个事件附带的参数)
    this.$emit('childNotify', params)
   }
  }
 }
</script>

参考:https://jingyan.baidu.com/article/455a99505b639da1662778e1.html

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
Apr 19 Javascript
固定网页背景图同时保持图片比例的思路代码
Aug 15 Javascript
js中自定义方法实现停留几秒sleep
Jul 11 Javascript
js网页右下角提示框实例
Oct 14 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
Nov 25 Javascript
浅谈时钟的生成(js手写简洁代码)
Aug 20 Javascript
javascript 四十条常用技巧大全
Sep 09 Javascript
AngularJS 验证码60秒倒计时功能的实现
Jun 05 Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 Javascript
详解vue-flickity的fullScreen功能实现
Apr 07 Javascript
微信小程序实现简单文字跑马灯
May 26 Javascript
vue实现登录功能
Dec 31 Vue.js
React Hooks 实现和由来以及解决的问题详解
Jan 17 #Javascript
详解搭建一个vue-cli的移动端H5开发模板
Jan 17 #Javascript
jQuery实现王者荣耀手风琴效果
Jan 17 #jQuery
JS实现transform实现扇子效果
Jan 17 #Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
Jan 16 #jQuery
浅谈VUE中演示v-for为什么要加key
Jan 16 #Javascript
Vue引入Stylus知识点总结
Jan 16 #Javascript
You might like
社区(php&amp;&amp;mysql)二
2006/10/09 PHP
Yii核心组件AssetManager原理分析
2014/12/02 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
accesskey 提交
2006/06/26 Javascript
javascript 表单的友好用户体现
2009/01/07 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
Angular 2父子组件数据传递之@Input和@Output详解(下)
2017/07/05 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
基于AngularJs select绑定数字类型的问题
2018/10/08 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
Python中使用logging模块打印log日志详解
2015/04/05 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
塑料制成的可水洗的编织平底鞋和鞋子:Rothy’s
2018/09/16 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
教师求职信怎么写
2015/03/20 职场文书
Java实现房屋出租系统详解
2021/10/05 Java/Android
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers
Python中request的基本使用解决乱码问题
2022/04/12 Python