快速了解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 相关文章推荐
让innerHTML的脚本也可以运行起来
Jul 01 Javascript
Javascript的严格模式strict mode详细介绍
Jun 06 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
Nov 16 Javascript
JavaScript中removeChild 方法开发示例代码
Aug 15 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
Jan 19 Javascript
node下使用UglifyJS压缩合并JS文件的方法
Mar 07 Javascript
mac上配置Android环境变量的方法
Jul 08 Javascript
qrcode生成二维码微信长按无法识别问题的解决
Apr 04 Javascript
通过实例学习React中事件节流防抖
Jun 17 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
Aug 03 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
Sep 06 Javascript
使用react+redux实现计数器功能及遇到问题
Jun 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
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
Python 模拟登陆的两种实现方法
2017/08/10 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
python将回车作为输入内容的实例
2018/06/23 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
怎样让char类型的东西转换成int类型
2013/12/09 面试题
中学教师师德师风承诺书
2015/04/28 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB