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中window、doucment、body的解释
Aug 14 Javascript
js算法中的排序、数组去重详细概述
Oct 14 Javascript
Jquery实现控件的隐藏和显示实例
Feb 08 Javascript
浅谈javascript的调试
Jan 28 Javascript
JavaScript递归操作实例浅析
Oct 31 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
Jun 07 Javascript
vue完成项目后,打包成静态文件的方法
Sep 03 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
Oct 08 Javascript
vue监听用户输入和点击功能
Sep 27 Javascript
何时/使用 Vue3 render 函数的教程详解
Jul 25 Javascript
Vue开发中常见的套路和技巧总结
Nov 24 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添加Redis模块及连接
2015/07/28 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
Javascript开发包大全整理
2006/12/22 Javascript
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
2012/02/10 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
bootstrap轮播模板使用方法详解
2017/11/17 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
pandas如何处理缺失值
2019/07/31 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
关于Python-faker的函数效果一览
2019/11/28 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
《鲁班和橹板》教学反思
2014/04/27 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python