简单了解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 相关文章推荐
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 Javascript
仿微博字符限制效果实现代码
Apr 20 Javascript
javascript中encodeURI和decodeURI方法使用介绍
May 06 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
Jun 08 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
Jun 25 Javascript
javascript数据结构之双链表插入排序实例详解
Nov 25 Javascript
ES6新特性之Symbol类型用法分析
Mar 31 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
Aug 23 Javascript
vue+高德地图写地图选址组件的方法
May 18 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
Oct 29 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
vue实现简单数据双向绑定
Apr 28 Vue.js
小程序实现短信登录倒计时
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
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
javascript管中窥豹 形参与实参浅析
2011/12/17 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
Python2.5/2.6实用教程 入门基础篇
2009/11/29 Python
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
学习张林森心得体会
2014/09/10 职场文书
2014企业年终工作总结
2014/12/23 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
公司表扬信格式
2015/05/04 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
go goroutine 怎样进行错误处理
2021/07/16 Golang