简单了解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插件 大家可以收藏一下
Feb 07 Javascript
基于jquery用于查询操作的实现代码
May 10 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
Apr 14 Javascript
json格式的时间显示为正常年月日的方法
Sep 08 Javascript
解决jquery中美元符号命名冲突问题
Jan 08 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
May 06 Javascript
浅谈Jquery核心函数
Jun 18 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
基于js实现checkbox批量选中操作
Nov 22 Javascript
ES6扩展运算符用法实例分析
Oct 31 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 Javascript
vue+elementUi图片上传组件使用详解
Aug 20 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
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
php Session无效分析资料整理
2016/11/29 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
详解JavaScript中void语句的使用
2015/06/04 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
js数据类型检测总结
2018/08/05 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
用HTML5制作视频拼图的教程
2015/05/13 HTML / CSS
C语言基础笔试题
2013/04/27 面试题
愚人节活动策划方案
2014/03/11 职场文书
辩论赛主持词
2014/03/18 职场文书
酒后驾车标语
2014/06/30 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
python四个坐标点对图片区域最小外接矩形进行裁剪
2021/06/04 Python
Selenium浏览器自动化如何上传文件
2022/04/06 Python
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL