Angular 2父子组件数据传递之@Input和@Output详解 (上)


Posted in Javascript onJuly 05, 2017

前言

为了让大家学习起来轻松、易懂,小编尽量做到篇幅短,语言通俗易懂,知识点分段来讲,以免太长了看起来很累,也很容易失去耐心阅读下去,希望大家理解和支持,同时希望大家点赞和分享出去,让更多的志同道合的朋友来学习

Angular 提供了@Input和@Output语法来处理组件数据的流入流出,接下来我们通过@Input和@Output来演示父子组建之间的数据传递

父组件向子组件传递数据

父组件传递数据到子组件通过@Input方式的现实方式

第一步:定义父组件

ParentComponent.ts

Angular 2父子组件数据传递之@Input和@Output详解 (上)

(1).这里定义了两个类属性user和parent_data,

(2).一个next()方法,next方法用于将页面输入的数据赋值给parent_data属性

ParentComponent.html

Angular 2父子组件数据传递之@Input和@Output详解 (上)

对应的页面:

Angular 2父子组件数据传递之@Input和@Output详解 (上)

Angular 2父子组件数据传递之@Input和@Output详解 (上)

Angular 2父子组件数据传递之@Input和@Output详解 (上)

表单输入数据,点击页面上的按钮,调用页面next()方法

next()方法内部将输入的数据user赋值给parent_data。parent_data获取到数据之后在模版中把获取到的值再赋给子组件中先前定义好的data变量到这里父组件就完成 类数据的传递,下面我们看看子组件怎么去接受这个值?

第二步:定义子组件:

ChildenComponent.ts

Angular 2父子组件数据传递之@Input和@Output详解 (上)

Angular 2父子组件数据传递之@Input和@Output详解 (上)

(1).这里定义了一个类属性data,并且用@Input装饰器修饰,修饰过后的data变量就具备接受父组件传过来的数据了,这里定义的data就是在页面接收父组件传递的data变量,看下面代码(2).还实现了一个onChanges接口,onChanges接口必须实现ngOnChanges方法,用来监控数据的变化,如果父组件的数据发生变化,我们这里就输出改变后的数据,父组件中表单输入的值发生变化,再点击按钮调用next()方法,ngonChanges会检测到数据变化, console.log(this.data)打印新的输出到控制台

下面我们看看效果

Angular 2父子组件数据传递之@Input和@Output详解 (上)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
尝试在让script的type属性等于text/html
Jan 15 Javascript
jq选项卡鼠标延迟的插件实例
May 13 Javascript
js单例模式的两种方案
Oct 22 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
JS实现在状态栏显示打字效果完整实例
Nov 02 Javascript
JavaScript字符串删除重复字符的方法
Dec 25 Javascript
Angularjs中使用指令绑定点击事件的方法
Mar 30 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 Javascript
JS轮播图实现简单代码
Feb 19 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
Sep 28 Javascript
javascript实现计算指定范围内的质数示例
Dec 29 Javascript
15分钟深入了解JS继承分类、原理与用法
Jan 19 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
Jul 05 #Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 #Javascript
Angular2 自定义validators的实现方法
Jul 05 #Javascript
js获取元素的偏移量offset简单方法(必看)
Jul 05 #Javascript
使用angular帮你实现拖拽的示例
Jul 05 #Javascript
使用JavaScript根据图片获取条形码的方法
Jul 04 #Javascript
jquery拖动改变div大小
Jul 04 #jQuery
You might like
php笔记之:文章中图片处理的使用
2013/04/26 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
YII框架中使用memcache的方法详解
2017/08/02 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
js的逻辑运算符 ||
2010/05/31 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
浅析jquery数组删除指定元素的方法:grep()
2016/05/19 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
2017/07/03 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
JS模拟实现京东快递单号查询
2020/11/30 Javascript
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
详解Python多线程
2016/11/14 Python
windows系统下Python环境的搭建(Aptana Studio)
2017/03/06 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
应届生妇产科护士求职信
2013/10/27 职场文书
本科毕业生自我鉴定
2013/11/02 职场文书
医德医风演讲稿
2014/05/20 职场文书
个人授权委托书模板
2014/09/14 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
我的生日感言
2015/08/03 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL
吉利入股戴姆勒后smart“长大了”
2022/04/21 数码科技