简单了解vue中父子组件如何相互传递值(基础向)


Posted in Javascript onJuly 12, 2019

前言

首先,你需要知道vue中父组件和子组件分别指的是什么?

父组件:vue的根实例——用new Vue()构造函数创建的vue实例(实例会有一个挂载点,挂载点里的所有内容可理解为父组件的内容)

  简单了解vue中父子组件如何相互传递值(基础向)

这里以root为挂载点,root里包含的所有内容可称为模板,即我们常说的父组件

 简单了解vue中父子组件如何相互传递值(基础向)

子组件:用Vue.component()注册的组件(下图todo-item就是组件的名称,该名称可自定义,推荐使用短横线分隔命名)

  简单了解vue中父子组件如何相互传递值(基础向)

定义组件名的2种方式(截图截自vue官网)

简单了解vue中父子组件如何相互传递值(基础向)

注:建议在html中引用组件时(非字符串模板),组件命名都用短横线命名且字母全小写的方式

父组件向子组件传递值

父组件:通过属性的形式进行传递(比如v-bind:content="item",通过v-bind属性把item的值动态赋给content变量)

简单了解vue中父子组件如何相互传递值(基础向)

子组件:通过props接收父组件传递的值

 简单了解vue中父子组件如何相互传递值(基础向)

子组件向父组件传递值

子组件:通过$emit()方法发布事件广播

父组件:捕获到子组件向外触发的事件,然后可执行相应的方法

下图为子组件通过$emit()方法向外传递delete事件,父组件捕获到delete事件后执行handleDelete()方法

下图中methods方法里的this默认指向vue实例

不要把methods方法写成箭头函数,因为箭头函数会改变this的指向,使this不在默认指向vue实例,而指向undefined

同时vue实例中的data,computed,watch属性也都不要写成箭头函数,理由同上

简单了解vue中父子组件如何相互传递值(基础向)

注:@delete="handleDelete"为v-on:click="handleDelete"的简写;

:content="item"为v-bind:content="item"的简写

补充:怎么注册全局组件和局部组件

①:注册全局组件(用Vue.component(),组件名为todo-item,可自定义,推荐使用短横线分隔命名)

简单了解vue中父子组件如何相互传递值(基础向)

②:注册局部组件(通过一个 JavaScript 对象来定义组件)

  简单了解vue中父子组件如何相互传递值(基础向)

注册局部组件后,直接引用组件<todo-item></todo-item>会报错,提示未注册该组件

简单了解vue中父子组件如何相互传递值(基础向)

解决方法是在vue实例中用components进行声明

  简单了解vue中父子组件如何相互传递值(基础向)

注:对于components对象中的每个属性来说,其属性名就是自定义元素的名字,其属性值就是这个组件的选项对象

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不用ajax实现点击文字即可编辑的方法
Dec 16 Javascript
jQuery中绑定事件的命名空间详解
Apr 05 Javascript
jQuery中;function($,undefined) 前面的分号的用处
Dec 17 Javascript
jQuery中:gt选择器用法实例
Dec 29 Javascript
JavaScript Math.floor方法(对数值向下取整)
Jan 09 Javascript
全面解析Javascript无限添加QQ好友原理
Jun 15 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
Apr 26 Javascript
Vue中使用vux的配置详解
May 05 Javascript
解决vue-cli webpack打包开启Gzip 报错问题
Jul 24 Javascript
详解JS ES6编码规范
May 07 Javascript
小程序实现短信登录倒计时
Jul 12 #Javascript
微信小程序简单的canvas裁剪图片功能详解
Jul 12 #Javascript
小程序实现分类页
Jul 12 #Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 #jQuery
小程序实现搜索框
Jun 19 #Javascript
ECharts地图绘制和钻取简易接口详解
Jul 12 #Javascript
vue cli安装使用less的教程详解
Jul 12 #Javascript
You might like
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
一些有关检查数据的JS代码
2006/09/07 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
jQuery实现打开页面渐现效果示例
2016/07/27 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
2016/07/28 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
[01:09:40]Newbee vs Pain 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
python中绕过反爬虫的方法总结
2020/11/25 Python
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
秋季运动会加油稿200字
2014/01/11 职场文书
大学校园生活自我鉴定
2014/01/13 职场文书
秋季运动会稿件
2014/01/30 职场文书
运动会宣传口号
2014/06/09 职场文书
领导干部贪图享乐整改措施
2014/09/21 职场文书
单位租房协议书样本
2014/10/30 职场文书
实习协议书
2015/01/27 职场文书
2016春节放假通知范文
2015/08/18 职场文书
导游词之镜泊湖
2019/12/09 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python