快速了解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 相关文章推荐
jquery实现带复选框的表格行选中删除时高亮显示
Aug 01 Javascript
js调试工具console.log()方法查看js代码的执行情况
Aug 08 Javascript
JQuery的ON()方法支持的所有事件罗列
Feb 28 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
May 09 Javascript
Vue.js 父子组件通讯开发实例
Sep 06 Javascript
BootStrap modal模态弹窗使用小结
Oct 26 Javascript
flexslider.js实现移动端轮播
Feb 05 Javascript
Webpack 4.x搭建react开发环境的方法步骤
Aug 15 Javascript
解决layui下拉框监听问题(监听不到值的变化)
Sep 28 Javascript
vue 实现cli3.0中使用proxy进行代理转发
Oct 30 Javascript
Javascript Web Worker使用过程解析
Mar 16 Javascript
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
微信小程序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
php class中self,parent,this的区别以及实例介绍
2013/04/24 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
thinkPHP3.2.3实现阿里大于短信验证的方法
2018/06/06 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
javascript 冒号 使用说明
2009/06/06 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
使用impress.js制作幻灯片
2015/09/09 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
python删除过期log文件操作实例解析
2018/01/31 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
个人自我鉴定写法
2013/11/30 职场文书
制衣厂各岗位职责
2013/12/02 职场文书
高二地理教学反思
2014/01/24 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
管理失职检讨书
2015/05/05 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
周一问候语大全
2015/11/10 职场文书
2016小学新学期寄语
2015/12/04 职场文书