JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angular2 ng2 @input和@output理解及示例大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

angular2 @input和@output理解

先做个比方,然后奉上代码

比如:

E)="eventHandler($event.raTing)">

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 提供数据

{Component} from "@angular/core"; @Component({ SELEctor: "my-father",templateUrl: "father.html" }) export class FatherComponent { data: Array; constructor() { this.data = [ { "id": 1,"name": "html" },{ "id": 2,"name": "css" },{ "id": 3,"name": "angular" },{ "id": 4,"name": "ionic" },{ "id": 5,"name": "node" } ] } }

模板文件 father.html

父组件 // 包含子组件, 并使用属性传递数据过去

子组件 child.component.ts 获取数据

{Component,Input} from "@angular/core"; @Component({ SELEctor: "my-child",templateUrl: "child.html" }) export class ChildComponent { // 使用@Input获取传递过来的数据 @Input() info: Array; constructor() {

}
}

子组件 child.html模板文件

  • {{item.namE}}
  • 2、@Output()

    子组件three-link.component.ts

    1. 引入

    {Component,OnInit,Output,EventEmitter} from "@angular/core";

    2. 定义输出变量

    { province: String; // 输出一下参数 @Output() provinceOut = new EventEmitter(); constructor() { this.province = "陕西"; } }

    3. 事件出发,发射变量给父组件

    provinceChange() { // 选择省份的时候发射省份给父组件 this.provinceOut.emit(this.province); }

    父组件模板

    provinceOut)="recPro($event)">

    父组件

    { this.province = event; }

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程。

    大佬总结

    以上是大佬教程为你收集整理的angular2 ng2 @input和@output理解及示例全部内容,希望文章能够帮你解决angular2 ng2 @input和@output理解及示例所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。