快速了解Vue父子组件传值以及父调子方法、子调父方法


Posted in Javascript onJuly 15, 2020

稍微总结了一下Vue中父子间传值以及相互调方法的问题,非常基础、希望可以帮到你!先来个最常用的,直接上代码:

1、父传值给子组件

父组件:

<template>
 <div>
  <p class="father">父组件</p>
  <child :sid="id"></child>
 </div>
</template>

<script>
import child from './child'
export default {
 components: {
  child
 },
 data() {
  return {
   id:'0920', // 父组件向子组件传的值
  }
 },
}
</script>

子组件:

<template>
 <div>
  <p class="child">子组件</p>
  <p class="child">接收父组件的值是:{{sid}}</p>
 </div>
</template>

<script>
export default {
 props:{
  sid:{
   type:String,
   default: '0'
  }
 },
 data() {
  return {
  }
 }
}
</script>

 ①在父组件中的操作如下:

快速了解Vue父子组件传值以及父调子方法、子调父方法

 ②子组件中的操作如下:

快速了解Vue父子组件传值以及父调子方法、子调父方法

2、子传值给父组件

父组件:

<template>
 <div>
  <p class="father">父组件</p>
  <p class="father">接收到子组件的值:{{childSia}}</p>
  <child @passVaule="passValue"></child>
 </div>
</template>

<script>
import child from './child'
export default {
 components: {
  child
 },
 data() {
  return {
   childSia:'', // 接收子组件的值
  }
 },
 methods: {
  passValue(data) {
   this.childSia = data;
  }
 }
}
</script>

子组件:

<template>
 <div>
  <p class="child">子组件</p>
  <button @click="valueClick">传值</button>
 </div>
</template>

<script>
export default {
 data() {
  return {
  }
 },
 methods: {
  valueClick() {
   this.$emit('passVaule',19)
  }
 }
}
</script>

截图说明太累了,我直觉总结我文字吧。

①子组件中给一个方法去触发$emit,第一个参数是在父组件引入子组件绑定的函数名('passVaule'),第二个是要传的值(19)

②父组件中绑定一个函数,调用父组件中绑定的函数,在其中对值进行接收操作

3、子调用父组件中的方法

父组件:

<template>
 <div>
  <p class="father">父组件</p>
  <child @funVaule="funValue"></child>
 </div>
</template>

<script>
import child from './child'
export default {
 components: {
  child
 },
 data() {
  return {
  }
 },
 methods: {
  funValue() {
   console.log('调用了父组件中的函数');
  }
 }
}
</script>

子组件:

<template>
 <div>
  <p class="child">子组件</p>
  <button @click="funClick">调用父组件方法</button>
 </div>
</template>

<script>
export default {
 data() {
  return {
  }
 },
 methods: {
  funClick() {
   this.$emit('funVaule')
  }
 }
}
</script>

①这个跟子传值给父类似,只是不传值,调用了父组件的绑定的函数

4、父调用子组件中的方法

父组件:

<template>
 <div>
  <p class="father">父组件</p>
  <button @click="childClick">调用子组件方法</button>
  <child ref="mychild" ></child>
 </div>
</template>

<script>
import child from './child'
export default {
 components: {
  child
 },
 data() {
  return {
  }
 },
 methods: {
  childClick() {
   this.$refs.mychild.testNum(9809)
  }
 }
}
</script>

子组件:

<template>
 <div>
  <p class="child">子组件</p>
</button>
 </div>
</template>

<script>
export default {
 data() {
  return {
  }
 },
 methods: {
  testNum(e) {
   console.log('调用了子组件中的方法 11111',e)
  }
 }
}
</script>

① 父组件中在引入的子组件中写入 ref = "mychild"   mychid为自己定义的实例名

② 在函数中写 this.refs.mychild.testNum()。 “testNum”为子组件中定义的函数名

③子组件定义一个函数,让父组件调用即可,我定义的位testNum

④这个方法也可以进行传值,在括号中写入值,子组件接收即可  。

希望此文可以帮助到你哦。先去吃饭啦

以上就是快速了解Vue父子组件传值以及父调子方法、子调父方法的详细内容,更多关于Vue父子组件传值 的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 Javascript
js有序数组的连接问题
Oct 01 Javascript
jQuery实现点击该行即可删除HTML表格行
Oct 17 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
Nov 17 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
Jun 17 Javascript
vue将时间戳转换成自定义时间格式的方法
Mar 02 Javascript
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
JS实现HTML页面中动态显示当前时间完整示例
Jul 30 Javascript
js字符串倒序的实例代码
Nov 30 Javascript
vue组件三大核心概念图文详解
May 30 Javascript
微信小程序 简易计算器实现代码实例
Sep 02 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
Jul 15 #Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 #Javascript
微信小程序实现列表的横向滑动方式
Jul 15 #Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
Jul 15 #Javascript
JavaScript实时更新当前的时间的示例代码
Jul 15 #Javascript
jQuery 添加元素和删除元素的方法
Jul 15 #jQuery
vue如何在项目中调用腾讯云的滑动验证码
Jul 15 #Javascript
You might like
微信封装的调用微信签名包的类库
2017/06/08 PHP
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
jQuery的三种$()
2009/12/30 Javascript
JavaScript中的property和attribute介绍
2011/12/26 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
医学毕业生自荐信
2013/10/11 职场文书
高中生的自我鉴定范文
2014/01/24 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
工商局副局长个人对照检查材料
2014/09/25 职场文书
2015年路政工作总结
2015/05/22 职场文书
感动中国何玥观后感
2015/06/02 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
导游词之青岛太清宫
2019/12/13 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
Python语言中的数据类型-序列
2022/02/24 Python
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js
python图像处理 PIL Image操作实例
2022/04/09 Python