详解Vue之父子组件传值


Posted in Javascript onApril 01, 2019

一、简要介绍

父子组件之间的传值主要有三种:传递数值、传递方法、传递对象,主要是靠子组件的 props 属性来接收传值,下面分别介绍:

(一)传递数值

1.子组件:Header.vue

<template>
 <div>
  <!-- data对象里并没有 msg 属性,这里调用的是父类传递过来的 msg 属性 -->
  <h2>{{msg}}</h2>
 </div>
</template>
<script>
export default {
 data() {
  return {
  }
 },
 methods: {
 },
 // 接收父类的传值
 props: ['msg']
}
</script>

可以看到,在子组件中的data对象里并没有 msg 属性,这里调用的是父类传递过来的 msg 属性,接收就是靠 props: ['msg']。

2.父组件Home.vue

<template>
 <div>
  <!-- 2.使用子组件,并向子组件传值 -->
  <v-head :msg="msg"></v-head>

  <br>
  <br>
 </div>
</template>

<script>
// 1.引入子组件
import Head from './Head.vue';

export default {
 data() {
  return {
   msg: '我是一个组件'
  }
 },
 methods: {
 },
 components: {
  "v-head": Head
 },
 // 页面刷新时请求数据
 mounted() {
 }
}
</script>

传值的核心思想就是,在使用子组件的地方,加上要传递的值:<v-head :msg="msg"></v-head>

(二)传递方法

传递方法的写法和传递数值一样,下面只写出关键步骤:

父组件

<template>
 <div>
  <!-- 2.使用子组件,并向子组件传值 -->
  <v-head :run="run"></v-head>

  <br>
  <br>
 </div>
</template>

<script>
// 1.引入子组件
import Head from './Head.vue';

export default {
 data() {
  return {
   msg: '我是一个组件'
  }
 },
 methods: {
  run() {
   alert(this.msg);
  }
 },
 components: {
  "v-head": Head
 },
 // 页面刷新时请求数据
 mounted() {
 }
}
</script>

子组件

<template>
 <div>
  <button @click="run">接收父组件的方法</button>
 </div>
</template>
<script>
export default {
 data() {
  return {
  }
 },
 methods: {
 },
 // 接收父类的传值
 props: ['run']
}
</script>

(三)传递对象

传递对象的写法和传递数值一样,下面只写出关键步骤:

父组件

<template>
 <div>
  <!-- 2.使用子组件,并向子组件传值,这里的 this 就是 Home 组件 -->
  <v-head :home="this"></v-head>

  <br>
  <br>
 </div>
</template>

<script>
// 1.引入子组件
import Head from './Head.vue';

export default {
 data() {
  return {
   msg: '我是一个组件'
  }
 },
 methods: {
  run() {
   alert(this.msg);
  }
 },
 components: {
  "v-head": Head
 },
 // 页面刷新时请求数据
 mounted() {
 }
}
</script>

子组件

<template>
 <div>
  <!-- data对象里并没有 msg 属性,这里调用的是父类传递过来的 msg 属性 -->
  <h2>{{msg}}</h2>
  <br>
  <br>
  <button @click="run">接收父组件的方法</button>
 </div>
</template>
<script>
export default {
 data() {
  return {
   // 调用传过来的home组件的msg属性
   msg: this.home.msg
  }
 },
 methods: {
  run() {
   // 调用传过来的home组件的run()方法
   this.home.run();
  }
 },
 // 接收父类的传值
 props: ['home']
}
</script>

(四)传递数值类型校验

props: {
  'home': Object
 }

其他和上面类似!

以上所述是小编给大家介绍的Vue之父子组件传值详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript面向对象入门基础详细介绍
Sep 05 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
Mar 18 Javascript
JS获取iframe中longdesc属性的方法
Apr 01 Javascript
jQuery+ajax+asp.net获取Json值的方法
Jun 08 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
Apr 06 Javascript
Kotlin学习第一步 kotlin语法特性
May 25 Javascript
vue2 自定义动态组件所遇到的问题
Jun 08 Javascript
vue 1.x 交互实现仿百度下拉列表示例
Oct 21 Javascript
JavaScript 异步调用
Oct 25 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 Javascript
javascript的delete运算符知识点总结
Nov 19 Javascript
解决vue动态下拉菜单 有数据未反应的问题
Aug 06 Javascript
微信二次分享报错invalid signature问题及解决方法
Apr 01 #Javascript
JS中的防抖与节流及作用详解
Apr 01 #Javascript
微信小程序 slot踩坑的解决
Apr 01 #Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
Apr 01 #Javascript
VUE脚手架的下载和配置步骤详解
Apr 01 #Javascript
详解JavaScript中的函数、对象
Apr 01 #Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
Apr 01 #Javascript
You might like
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
js判断登录与否并确定跳转页面的方法
2015/01/30 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
nodejs实例解析(输出hello world)
2017/01/03 NodeJs
JavaScript寄生组合式继承实例详解
2018/01/06 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
详解Python中的array数组模块相关使用
2016/07/05 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
pytorch索引查找 index_select的例子
2019/08/18 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
如何写出好的Java代码
2014/04/25 面试题
关于母亲节的感言
2014/02/04 职场文书
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
小学亲子活动总结
2014/07/01 职场文书
干部对照检查材料范文
2014/08/26 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
安全先进个人材料
2014/12/29 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python