有时候我们经常分不清什么是父组件,什么又是子组件。现在来简单说下:我们将某段代码封装成一个组件,而这个组件又在另一个组件中引入,而引入该封装的组件的文件叫做父组件,被引入的组件叫做子组件。以上是我个人的理解含义,那么现在就直接上代码吧!

子组件:

<template><div>{{msg}}</div><p>{{hello}}</p><p>{{hellotests}}</p><button @click="btns">按钮</button>
</template>
<script>
export default{data(){return{// 子组件中声明的变量msg:'',hello:'',hellotests:''}},created(){},watch:{// 监听从父组件传过来的数据是否发生改变,然后赋值给变量CCCount() {this.msg = this.msgTestthis.hello = this.helloTest}},methods:{// 点击按钮,子组件操做父组件中的函数btns(){this.$emit('childsClick', '子组件触发父组件中的函数')},// 被父组件调用的子组件函数    msgs1(){this.hellotests = '哈哈,我是父组件调用子组件的函数'}},// 接收从父组件传过来的数据props:['msgTest', 'helloTest', 'CCCount']
}
</script>

父组件:

<template><div>test</div><p>hello world</p><span>{{btnVal}}</span><msgChildref="msgRef"@childsClick="btnClick":msgTest='msgTest2':helloTest='helloTest2':CCCount='CCCount'></msgChild>
</template>
<script>// 引入子组件 import msgChild from './test.vue'export default{data(){return{msgTest2:'',helloTest2:'',CCCount:0,btnVal:''}},components:{// 声明子组件名字  msgChild},created(){this.msgs()},methods:{msgs(){// 给子组件变量赋值this.msgTest2 = '测试1'this.helloTest2 = '测试2'},btnClick(val) {this.CCCount++this.btnVal = val// 触发子组件中的函数    this.$refs.msgRef.msgs1()}}}
</script>

从父组件代码可知,test.vue是子组件,并且在父组件中被命名成 msgChild ,我们在父组件中放置子组件的位置直接写子组件的名字即可,这样就是相当于放置了整个子组件。

先说父组件是怎么传值给子组件的:我们从父组件可知有这些变量,

:msgTest='msgTest2'
:helloTest='helloTest2'
:CCCount='CCCount'

例如:msgTest就是子组件接收的变量(无需再在子组件中声明),需要在子组件中的props中接收( props:['msgTest', 'helloTest', 'CCCount'] )。msgTest2是父组件的变量,需要在父组件中声明。我只需要在父组件中给msgTest2赋值即可,子组件中的this.msgTest便能接收到。

那么子组件是怎么向父组件中传值的呢?是通过触发父组件中的函数,并传递一个参数来完成传值的,例如:

this.$emit('childsClick', '子组件触发父组件中的函数')

触发父组件中的@childsClick="btnClick"来调用btnClick方法,并向btnClick方法传参 '子组件触发父组件中的函数' , 通过触发方法来向父组件传值。

父组件又是如触发子组件中的函数呢?答案是通过父组件中的 ref 来触发的,父组件中的 this.$refs.msgRef.msgs1() 便是触发子组件中的msgs1()函数。

什么是VUE的父组件和子组件?那么父组件和子组件又是怎样传值的呢?相关推荐

  1. Vue父组件网络请求回数据后再给子组件传值demo示例

    QQ技术交流群 173683866 526474645 欢迎加入交流讨论,打广告的一律飞机票 这里demo使用延迟执行模拟网络请求:父组件给子组件需要使用自定义属性 Prop ,下面是示例代码: &l ...

  2. vue 父组建获取子组建方法为获得_Vue父子组件状态同步的最佳方式

    平时我们在使用Vue开发的时候,可能会遇到需要父组件与子组件某个状态需要同步的情况,通常这个是因为我们封装组件的时候有一个相同的状态外面要用,里面也要用,今天我们就来看看怎么优雅的解决这个问题吧! 一 ...

  3. [vue] 在子组件中怎么访问到父组件的实例?

    [vue] 在子组件中怎么访问到父组件的实例? 通过this.$parent 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前 ...

  4. 四、Vue组件化开发学习笔记——父子组件通信,父级向子级传值(props),子级向父级传值(自定义事件),slot插槽

    一.父子组件的通信 在上一篇博文中,我们提到了子组件是不能引用父组件或者Vue实例的数据的. 但是,在开发中,往往一些数据确实需要从上层传递到下层: 比如在一个页面中,我们从服务器请求到了很多的数据. ...

  5. 三、Vue组件化开发学习笔记——组件化的基本步骤、全局组件和局部组件、父组件和子组件、注册组件的语法糖、模板分离写法、组件的数据存放

    一.什么是组件化? 人面对复杂问题的处理方式: 任何一个人处理信息的逻辑能力都是有限的 所以,当面对一个非常复杂的问题时,我们不太可能一次性搞定一大堆的内容. 但是,我们人有一种天生的能力,就是将问题 ...

  6. vue请求数据传给子组件_vue.js基础,父组件如何向子组件传递数据「607」

    本文只有一个学习点. 父组件如何向子组件传递数据. 一起学习,更多文章请关注我的头条号,我是落笔承冰. 一.先创建一张空白网页index.html,在head标签里设置好vue的链接库. 二.写一个绑 ...

  7. vue 子页面调用父页面的参数_Flutter子组件调用父组件方法修改父组件参数

    子组件调用父级组件方法的主要实现是父组件给子组件传入一个方法,然后在子组件中调用父级方法来修改父级的参数.看一下效果图 父级组件实现 在父级组件中写一个_editParentText的方法来修改组件中 ...

  8. vue 事件调用 传参_vue如何在父组件指定点击事件后向子组件传递参数并调用子组件的事件?...

    可以给父组件写一个ref属性,父组件可以通过ref拿到子组件中的数据和方法(即例子中子组件的say方法),这样在父组件中就可以触发子组件的事件了.而父组件向子组件传参可以通过prop属性(即例子中的f ...

  9. 如何在vue 中使用组件,以及组件通信的方式(父传子/子传父/兄弟传)

    文章目录 前言 零.如何使用封装组件 一.为什么需要下面的通信方式 二.父组件给子组件通信 三.子组件给父组件通信 四.兄弟组件通信 五.多层组件之间的通信 总结 前言 组件可以说是 vue 中最为核 ...

  10. 【Vue 组件化开发 三】父组件给子组件传递数据、组件通信(父传子、子传父)、父访问子(children、ref)、动态组件(is、component)

    目录 一.前言 完整内容请关注: 二.父组件给子组件传递数据 1.使用props属性,父组件向子组件传递数据 1.使用组件的props属性 2.向cmessage对象传值 2. props属性使用 1 ...

最新文章

  1. 【约束布局】ConstraintLayout 之 Chains 链式约束 ( Chains 简介 | 代码 及 布局分析 | 链头设置 | 间距设置 | 风格设置 | 权重设置 )
  2. 漫说单例模式--宝宝成长记 你真的了解了吗?
  3. ubuntu中文文件名乱码
  4. Apache Lucene拼写检查器的“您是不是要”功能
  5. 改变变压器联接方式可消除某些特定次数的谐波_电工牛人10年经验,总结的4电工常用接线方法41例,电机、变压器、接触器..都有...
  6. Kubernetes详解(二十)——ReplicaSet控制器
  7. 语音识别 | 数据堂方言语音数据集
  8. dell保修查询(戴尔保修状态查询)
  9. iOS7官方推荐图标和图像尺寸
  10. 对异常 java.lang.IllegalStateException: getAttribute: Session already invalidated的理解
  11. WebX配置文件、启动与响应流程
  12. 学生信息管理系统之 查询学籍信息流程
  13. Mac 终端——常用命令语
  14. halocn标定找旋转中心_HALOCN运算功能函数快查 | 学步园
  15. lua小技巧(二)——lua全局变量的检测
  16. matlab打印函数disp如何不换行
  17. Swift实现洗牌动画效果
  18. 详解HMM模型原理 及 实现(之四:matlab实现曲线分类)
  19. 利用模板方法设计模式实现代码的利用的工程实践
  20. S获取节点的兄弟,父级,子级元素的方法

热门文章

  1. VTN系列多通道振弦模拟信号采集仪
  2. 清华美女学霸的面试笔记,超详细
  3. ubuntu虚拟机双网卡无法上网问题
  4. LabView_使用 Vision Acquisition 采集工业相机图像
  5. RASP之IAST扫描器的安装及使用
  6. php判断股票类别,获取股票的行业分类数据
  7. H3c网络互联学习笔记——网络设备的基本操作
  8. 防盗链技术及破解方法详细解析
  9. 石油远程《机械设计》第二次在线作业
  10. 动易CMS - 设为首页代码和加入收藏代码(兼容各种浏览器)