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 函数的执行环境和作用域链的深入解析
Nov 01 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
May 14 Javascript
JS基于Mootools实现的个性菜单效果代码
Oct 21 Javascript
Jquery promise实现一张一张加载图片
Nov 13 Javascript
jQuery中的each()详细介绍(推荐)
May 25 Javascript
vue.js入门(3)——详解组件通信
Dec 02 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
EasyUI在Panel上动态添加LinkButton按钮
Aug 11 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
Aug 09 Javascript
Angular封装搜索框组件操作示例
Apr 25 Javascript
JS实现查找数组中对象的属性值是否存在示例
May 24 Javascript
修改NPM全局模式的默认安装路径的方法
Dec 15 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
模仿OSO的论坛(五)
2006/10/09 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
组合算法的PHP解答方法
2012/02/04 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
jquery根据一个值来选中select下的option实例代码
2016/08/29 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
利用Python在一个文件的头部插入数据的实例
2018/05/02 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
Python函数装饰器原理与用法详解
2019/08/16 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
Python如何实现的二分查找算法
2020/05/27 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
编辑找工作求职信范文
2013/12/16 职场文书
最热门的自我评价
2013/12/30 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
护理目标管理责任书
2014/07/25 职场文书
开会通知
2015/04/20 职场文书
学习经验交流会总结
2015/11/02 职场文书