input, [talk]="someExp" 这个标签可以理解为一个专门的监听器,监听父组件传递过来的someExp参数,并存入自身组件的talk变;好像是开了个后门,允许且只允许父组件的someExp进入,一旦进入立刻抓进一个叫talk的牢房,。
output ,(click)="eventHandler($event.rating) 这个意思是, 当子组件的click事件被触发,就执行父组件的eventHandler函数,并把子组件的参数$event.rating传递给父组件的eventHandler函数;就好像,当小孩子一哭(执行click事件),他的母亲立刻把他抱在怀里(执行母亲的eventHandler),同时母亲获得了小孩子的一些参数($event.rating)
1、@input()
ponent.ts 提供数据
import {Component} from "@angular/core"; @Component({ selector: "my-father", " export class FatherComponent { data: Array Object constructor() { this.data = [ "id": 1, "name": "html" "id": 2, "name": "css" "id": 3, "name": "angular" "id": 4, "name": "ionic" "id": 5, "name": "node"<
h1 父组件 /h1 // 包含子组件, 并使用属性传递数据过去 my-child [info]="data" /my-child
ponent.ts 获取数据
import {Component, Input} from "@angular/core"; @Component({ selector: "my-child", " export class ChildComponent { // @Input() info: Array Object constructor() {<模板文件
li *ngFor="let " {{item.name}} /li /ul
2、@Output()
ponent.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);
父组件模板
!--三级联动组件-- three-link (provinceOut)="recPro($event)" /three-link
父组件
// 函数接受子函数传递过来的变量, 子函数中emit的时候触发这个函数。 recPro(event) { this.province = event; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。