快速了解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 相关文章推荐
javascript 动态生成私有变量访问器
Dec 06 Javascript
jQuery学习笔记之jQuery的DOM操作
Dec 22 Javascript
Javascript中引用示例介绍
Feb 21 Javascript
原生javascript实现隔行换色
Jan 04 Javascript
学习JavaScript设计模式(接口)
Nov 26 Javascript
JS跨域解决方案之使用CORS实现跨域
Apr 14 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
Nov 16 Javascript
微信小程序 video详解及简单实例
Jan 16 Javascript
JavaScript requestAnimationFrame动画详解
Sep 14 Javascript
详解基于Node.js的HTTP/2 Server实践
May 31 Javascript
详解webpack运行Babel教程
Jun 13 Javascript
基于Vue 服务端Cookies删除的问题
Sep 21 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
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
Javascript中的String对象详谈
2014/03/03 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
python安装与使用redis的方法
2016/04/19 Python
python的文件操作方法汇总
2017/11/10 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
详解python算法之冒泡排序
2019/03/05 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
工程项目经理岗位职责
2013/12/15 职场文书
企业管理培训感言
2014/01/27 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
百家讲坛观后感
2015/06/12 职场文书
财务管理制度范本
2015/08/04 职场文书
寒假致家长的一封信
2015/10/10 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技