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 相关文章推荐
URL地址中的#符号使用说明
Feb 12 Javascript
jquery常用技巧及常用方法列表集合
Apr 06 Javascript
jQuery.extend 函数详解
Feb 03 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
Mar 17 Javascript
使用jquery中height()方法获取各种高度大全
Apr 02 Javascript
node.js中的console.info方法使用说明
Dec 09 Javascript
JavaScript中通过提示框跳转页面的方法
Feb 14 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
Jul 10 Javascript
jQuery制作图片旋转效果
Feb 02 Javascript
利用Node.js检测端口是否被占用的方法
Dec 07 Javascript
优雅的在React项目中使用Redux的方法
Nov 10 Javascript
js实现多个标题吸顶效果
Jan 08 Javascript
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
PHP4实际应用经验篇(4)
2006/10/09 PHP
一些php技巧与注意事项分析
2011/02/03 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
js AspxButton的客户端操作
2009/06/26 Javascript
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
npm的lock机制解析
2019/06/20 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
用python实现刷点击率的示例代码
2019/02/21 Python
python 命令行传入参数实现解析
2019/08/30 Python
python列表生成器迭代器实例解析
2019/12/19 Python
Python requests模块session代码实例
2020/04/14 Python
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
中国电视购物:快乐购
2017/02/04 全球购物
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
SportsDirect.com马来西亚:英国第一体育零售商
2018/11/21 全球购物
基于Python 函数和方法的区别说明
2021/03/24 Python
传播学专业毕业生自荐书
2014/07/01 职场文书
职代会闭幕词
2015/01/28 职场文书
未中标通知书
2015/04/17 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
Python实现数据的序列化操作详解
2022/07/07 Python
JS前端canvas交互实现拖拽旋转及缩放示例
2022/08/05 Javascript
使用 CSS 构建强大且酷炫的粒子动画效果
2022/08/14 HTML / CSS