详解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 相关文章推荐
js模仿windows桌面图标排列算法具体实现(附图)
Jun 16 Javascript
js查找某元素中的所有图片地址的方法
Jan 16 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
Sep 25 Javascript
jQuery on()方法示例及jquery on()方法的优点
Aug 27 Javascript
js查看一个函数的执行时间实例代码
Sep 12 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
Bootstrap 源代码分析(未完待续)
Aug 17 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
非常实用的vue导航钩子
Mar 20 Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 Javascript
CentOS环境中MySQL修改root密码方法
Jan 07 Javascript
vue实现分页加载效果
Dec 24 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
ThinkPHP让分页保持搜索状态的方法
2014/07/02 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
JavaScript Chart 插件整理
2010/06/18 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
python获取Pandas列名的几种方法
2019/08/07 Python
python函数不定长参数使用方法解析
2019/12/14 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
大学专科生推荐信范文
2013/11/23 职场文书
公司门卫的岗位职责
2014/02/19 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
党员自评材料范文
2014/12/17 职场文书
硕士论文致谢范文
2015/05/14 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
美丽心灵观后感
2015/06/01 职场文书
班主任工作总结范文
2015/08/13 职场文书