在Vue的组件内也可以定义组件,这种关系成为父子组件的关系;

如果在一个Vue实例中定义了component-a,然后在component-a中定义了component-b,那他们的关系就是:

Vue实例 -- 根组件 root component-a – 相对于root 这是子组件,相对于component-b这是 父组件 component-b -- 子组件

示例:

当把代码写在如图所示的位置会出现这样的错误

出现的错误显示:

错误显示<child-component>未定义

当把<child-component></child-component>放在如图所示的位置,还会出现这样的错误:

显示的错误:

错误显示的是在一个组件中只能有一个根节点,

解决方案,使组件只有一个根节点,正确结果显示

代码截图:

完整代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>父子组件之间的通信</title>
<script type="text/javascript" src="../js/vue.js" ></script>
</head>
<body>
<div>
<father-component></father-component>
</div>
</body>
<template id="father-template">
<div>
<h2> 父组件</h2>
<hr />
<child-component></child-component>
</div>
</template>
<template id="child-template">
<div>
<p> 子组件</p>
</div>
</template>
<script> new Vue({
components:{
"father-component":{
template:'#father-template', components:{
"child-component":{ template:'#child-template' }
} }
} }).$mount('div');
</script>
</html>

初始时,在父组件中定义一个数据:

显示如下:

代码如下:

<template id="father-template">
<div>
<h2> 父组件</h2>
username:<span>{{name}}</span>
<hr />
<child-component></child-component>
</div>
</template>
<template id="child-template">
<div>
<p> 子组件</p> </div>
</template>
<script> new Vue({
components:{
"father-component":{
data(){
return{
name:'perfect'
}
},
template:'#father-template', components:{
"child-component":{ template:'#child-template' }
} }
} }).$mount('div');
</script>

如想在子组件中进行使用父组件的数据时:

会出现这样的错误:

出现该错误的代码:

<template id="child-template">
<div>
<p> 子组件</p>
fatherData:<span>{{name}}</span> </div>
</template>

由该错误可知,即使两个组件是父子关系,但是他们的数据时独立的,如果需要使他们能共用数据,需要使它们通信,在下面的博文中,我会介绍它们如何去进行通信的。

Vue 组件&组件之间的通信 父子组件的通信的更多相关文章

  1. 第四节:Vue表单标签和组件的基本用法,父子组件间的通信

    vue表单标签和组件的基本用法,父子组件间的通信,直接看例子吧. <!DOCTYPE html> <html> <head> <meta charset=&q ...

  2. Vue(二十六)父子组件通信

    今天写了一个分页公共组件,就出现了父子组件通信的问题,今天来总结下我遇到的父子组件通信问题 一.子组件调取父组件的数据或方法 (1)props 想要把父组件的值,传到子组件中,使用props 比如你在 ...

  3. react第六单元(react组件通信-父子组件通信-子父组件通信-跨级组件的传参方式-context方式的传参)

    第六单元(react组件通信-父子组件通信-子父组件通信-跨级组件的传参方式-context方式的传参) #课程目标 1.梳理react组件之间的关系 2.掌握父子传值的方法 3.掌握子父传值的方法 ...

  4. vue 自定义组件 v-model双向绑定、 父子组件同步通信

    父子组件通信,都是单项的,很多时候需要双向通信.方法如下: 1.父组件使用:msg.sync="aa"  子组件使用$emit('update:msg', 'msg改变后的值xxx ...

  5. vue 自定义组件 v-model双向绑定、 父子组件同步通信【转】

    父子组件通信,都是单项的,很多时候需要双向通信.方法如下: 1.父组件使用:msg.sync="aa"  子组件使用$emit('update:msg', 'msg改变后的值xxx ...

  6. vue组件命名和传值 and 父子组件传值

    https://www.cnblogs.com/lianxisheng/p/10907350.html

  7. Vue 非父子组件通信

    组件是Vue核心的一块内容,组件之间的通信也是很基本的开发需求.组件通信又包括父组件向子组件传数据,子组件向父组件传数据,非父子组件间的通信.前两种通信Vue的文档都说的很清楚,但是第三种文档上确只有 ...

  8. 三大前端框架(react、vue、angular2+)父子组件通信总结

    公司业务需要,react.vue.angular都有接触[\无奈脸].虽然说可以拓展知识广度,但是在深度上很让人头疼.最近没事的时候回忆各框架父子组件通信,发现很模糊,于是乎稍微做了一下功课,记录于此 ...

  9. Vue(基础四)_总结五种父子组件之间的通信方式

    一.前言 这篇文章主要总结了几种通信方式: 1.方式一:使用props: [ ]和$emit()  (适用于单层通信) 2.方式二:$attrs和$listeners(适用于多层) 3.方式三:中央处 ...

随机推荐

  1. OUTLOOK2019 解决 无法验证您连接到的服务器使用的安全证书

    在配置好Outlook后,每次打开Outlook,都会弹框提醒“无法验证您连接到的服务器使用的安全证书”,网上搜的很多办法都无法解决,最后在微软的官方解答中找到了解决方案,分享给大家!   打开Out ...

  2. day28:hashlib

    1,继续上一小节,讲解双下内置方法,双下getitem,setitem,delitem方法,是对象可以像字典一样的来访问属性 # 普通的字典是像下面这样操作的 dic = {'k' : 'v'} di ...

  3. APP偏移地址

    配合BootLoader的APP程序 SCB->VTOR = 0x0803C004; 这里最后还要加上4的原因是 向量表的复位向量地址是4 0地址存的是栈顶

  4. OO第一单元总结与心得体会

    一.结构度量 1. UML类图 第一次作业 第二次作业 第三次作业 2. 复杂度分析 (1)方法复杂度 ​ ev, iv, v这几栏,分别代指基本复杂度(Essential Complexity (e ...

  5. Warning: count(): Parameter must be an array or an object that implements Countable in line 302解决方法

    ytkah在调试项目时又弹出一个警告Warning: count(): Parameter must be an array or an object that implements Countabl ...

  6. 小程序:scroll-view组件滑动多次触发scroll事件的bug解决

    在项目开发过程中,组件是微信小程序提供给我们的一个分页器,一般滑动到底部时会触发scroll事件,scroll事件中往往包含对后端数据的请求:若是还未滑动到底部时频繁触发事件,则会频繁发请求,达不到想 ...

  7. 【Pattern】-NO.150.Pattern.1 -【Pattern UML】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  8. 二、多功能提示框——MBProgressHUD

    概述 (注:图片仅展示部分功能,图片来自github) MBProgressHUD是一个Objective-C开源库,它可以让你在UI界面界面上插入一个透明的方框,伴以文字或进图条等,从而提示一些后台 ...

  9. RSA公私钥获取模数和质数

    实际项目中,发现前端在生成公钥对象的时候并不是使用这种方式,而是通过对应的模数跟质数来构造公钥对象的,这样的话,需要进一步将生成的公钥取出对应的模数和质数.openssl.java api都可以将质数 ...

  10. 获取Button脚本挂载的事件名

    (function(){ var Super = function(){}; Super.prototype = cc.Button.prototype; //实例化原型 Super.prototyp ...