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 tab 选项卡
Apr 26 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
Jul 20 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
Oct 16 Javascript
jQuery实现的导航动画效果(附demo源码)
Apr 01 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
Mar 04 Javascript
Vue.js实现微信过渡动画左右切换效果
Jun 13 Javascript
Angular2之二级路由详解
Aug 31 Javascript
vue-cli 首屏加载优化问题
Nov 06 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
Aug 07 Javascript
vue路由缓存的几种实现方式小结
Feb 02 Javascript
vue created钩子函数与mounted钩子函数的用法区别
Nov 05 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 正则 过滤html 的超链接
2009/06/02 PHP
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
PHP读取xml方法介绍
2013/01/12 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
php中实现记住密码下次自动登录的例子
2014/11/06 PHP
php json相关函数用法示例
2017/03/28 PHP
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
js实现拖拽效果
2015/02/12 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
详解js实时获取并显示当前时间的方法
2019/05/10 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
Vue实现手机计算器
2020/08/17 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
使用PYTHON创建XML文档
2012/03/01 Python
Django中间件实现拦截器的方法
2018/06/01 Python
Python爬取成语接龙类网站
2018/10/19 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
Python实现http接口自动化测试的示例代码
2020/10/09 Python
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
自我评价范文点评
2013/12/04 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS