本文主要介绍了angular2 ng2 @input和@output理解及示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。
angular2 @input和@output理解
先做个比方,然后奉上代码
比如:
登录后复制
input, [talk]=”someExp” 这个标签可以理解为一个专门的监听器,监听父组件传递过来的someExp参数,并存入自身组件的talk变;好像是开了个后门,允许且只允许父组件的someExp进入,一旦进入立刻抓进一个叫talk的牢房,然后子组件中就可以通过@Input来定义这个变量talk然后使用它。
output ,(click)=”eventHandler($event.rating) 这个意思是, 当子组件的click事件被触发,就执行父组件的eventHandler函数,并把子组件的参数$event.rating传递给父组件的eventHandler函数;就好像,当小孩子一哭(执行click事件),他的母亲立刻把他抱在怀里(执行母亲的eventHandler),同时母亲获得了小孩子的一些参数($event.rating)
1、@input()
父组件 father.component.ts 提供数据
import {Component} from "@angular/core";@Component({ selector: "my-father", templateUrl: "father.html"})export class FatherComponent { data: Array
登录后复制
模板文件 father.html
父组件
// 包含子组件, 并使用属性传递数据过去
登录后复制
子组件 child.component.ts 获取数据
import {Component, Input} from "@angular/core";@Component({ selector: "my-child", templateUrl: "child.html"})export class ChildComponent { // 使用@Input获取传递过来的数据 @Input() info: Array
登录后复制
子组件 child.html模板文件
登录后复制 {{item.name}}
2、@Output()
子组件three-link.component.ts
1. 引入
import {Component, OnInit, Output, EventEmitter} from "@angular/core";
登录后复制
2. 定义输出变量
export class ThreeLinkComponent { province: string; // 输出一下参数 @Output() provinceOut = new EventEmitter(); constructor() { this.province = "陕西"; } }
登录后复制
3. 事件出发,发射变量给父组件
provinceChange() { // 选择省份的时候发射省份给父组件 this.provinceOut.emit(this.province);}
登录后复制
父组件模板
登录后复制
父组件
// 函数接受子函数传递过来的变量, 子函数中emit的时候触发这个函数。recPro(event) { this.province = event;}
登录后复制
相关推荐:
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
JS点击下拉菜单把选择的内容同步到input输入框内实现方法
使用output标签标注JavaScript返回值的实例分析
以上就是angular2 input和output解析的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2788918.html