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 相关文章推荐
如何用javascript控制上传文件的大小
Oct 26 Javascript
js类后台管理菜单类-MenuSwitch
Sep 12 Javascript
jquery控制display属性为none或block
Mar 31 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
Jun 23 Javascript
node.js中的fs.lstatSync方法使用说明
Dec 16 Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 Javascript
JS查找字符串中出现最多的字符及个数统计
Feb 04 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
Apr 21 Javascript
webpack学习笔记之优化缓存、合并、懒加载
Aug 24 Javascript
对angular4子路由&amp;辅助路由详解
Oct 09 Javascript
Vue切换div显示隐藏,多选,单选代码解析
Jul 14 Javascript
Vue 事件的$event参数=事件的值案例
Jan 29 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错误信息方法的详解
2013/06/09 PHP
hadoop中一些常用的命令介绍
2013/06/19 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
jquery ztree实现下拉树形框使用到了json数据
2014/05/14 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
jquery实现图片放大点击切换
2017/06/06 jQuery
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
介绍Python的Django框架中的QuerySets
2015/04/20 Python
使用python实现BLAST
2018/02/12 Python
Python之list对应元素求和的方法
2018/06/28 Python
树莓派极简安装OpenCv的方法步骤
2019/10/10 Python
Python进程池Pool应用实例分析
2019/11/27 Python
Python3实现飞机大战游戏
2020/04/24 Python
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
英国家电直销:Appliances Direct
2016/09/22 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
新手上路标语
2014/06/20 职场文书
房屋所有权证明
2014/10/20 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
java如何实现获取客户端ip地址的示例代码
2022/04/07 Java/Android
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers
springboot读取resources下文件的方式详解
2022/06/21 Java/Android
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers