网站优化

个人如何开发小程序_angular2 ng2 @input和@output了解

作者:admin 发布时间:2021-01-11
angular2 ng2 @       本篇文章主要介绍了angular2 ng2 @,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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;
}

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



收缩