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 相关文章推荐
浅说js变量
May 25 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
Dec 20 Javascript
js购物车实现思路及代码(个人感觉不错)
Dec 23 Javascript
JavaScript实现twitter puddles算法实例
Dec 06 Javascript
jQuery的观察者模式详解
Dec 22 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 Javascript
jQuery判断数组是否包含了指定的元素
Mar 10 Javascript
vue.js中Vue-router 2.0基础实践教程
May 08 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
Sep 04 Javascript
JQuery animate动画应用示例
May 14 jQuery
纯JS开发baguetteBox.js响应式画廊插件
Jun 28 Javascript
JavaScript实现点击图片换背景
Nov 20 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/07/01 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
js中cookie的使用详细分析
2008/05/28 Javascript
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
JavaScript笔记之数据属性和存储器属性
2016/03/31 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
Python实现二叉搜索树
2016/02/03 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
浅谈Python黑帽子取代netcat
2018/02/10 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
Django ManyToManyField 跨越中间表查询的方法
2018/12/18 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
Python多线程获取返回值代码实例
2020/02/17 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
德国帽子专家:Hutshopping
2019/11/03 全球购物
建筑人员岗位职责
2013/12/25 职场文书
小学毕业感言150字
2014/02/05 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript