简单了解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 相关文章推荐
jQuery之尺寸调整组件的深入解析
Jun 19 Javascript
用js控制组织结构图可以任意拖拽到指定位置
Jan 17 Javascript
javascript实现获取服务器时间
May 19 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
Dec 14 Javascript
浅析JavaScript声明变量
Dec 21 Javascript
JS简单实现浮动窗口效果示例
Sep 07 Javascript
原生JS获取元素集合的子元素宽度实例
Dec 14 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
.net MVC+Bootstrap下使用localResizeIMG上传图片
Apr 21 Javascript
AngularJs 延时器、计时器实例代码
Sep 16 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
Oct 11 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 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中curl返回false的解决办法
2019/03/18 PHP
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
原生js实现吸顶效果
2017/03/13 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
Python新手入门最容易犯的错误总结
2017/04/24 Python
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
python计算两个地址之间的距离方法
2018/06/09 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
Python箱型图处理离群点的例子
2019/12/09 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
基于python图像处理API的使用示例
2020/04/03 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
了解一下python内建模块collections
2020/09/07 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
送给他或她的礼物:FUN.com
2018/08/17 全球购物
给排水工程师岗位职责
2013/11/21 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
学生检讨书怎么写
2014/10/09 职场文书
五年级小学生评语
2014/12/26 职场文书
文明礼仪主题班会
2015/08/13 职场文书
社区挂职锻炼个人工作总结
2015/10/23 职场文书
安全责任协议书范本
2016/03/23 职场文书
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL