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 相关文章推荐
ExtJS 2.0实用简明教程 之ExtJS版的Hello
Apr 29 Javascript
js function使用心得
May 10 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
Feb 23 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
JS控制文本框textarea输入字数限制的方法
Jun 17 Javascript
js数组去重的常用方法总结
Jan 24 Javascript
js取得html iframe中的元素和变量值
Jun 30 Javascript
js监听鼠标事件控制textarea输入字符串的个数
Sep 29 Javascript
js实现人民币大写金额形式转换
Apr 27 Javascript
layui获取选中行数据的实例讲解
Aug 19 Javascript
vue组件之间数据传递的方法实例分析
Feb 12 Javascript
微信小程序sessionid不一致问题解决
Aug 30 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
javascript 四则运算精度修正函数代码
2010/05/31 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
利用BootStrap弹出二级对话框的简单实现方法
2016/09/21 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
如何解决vue在ios微信"复制链接"功能问题
2020/03/26 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python定时关机小脚本
2018/06/20 Python
获取python的list中含有重复值的index方法
2018/06/27 Python
详解Python 解压缩文件
2019/04/09 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
幼儿园教师的考核评语
2014/04/18 职场文书
2014年政协工作总结
2014/12/09 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
Windows安装Anaconda3的方法及使用过程详解
2021/06/11 Python