Angula组件间通讯(2)--组件的输出属性

        在父子组件间,子组件向父组件传输数据,Angular中有一个叫EventEmitter的对象发送自定义的事件。EventEmitter这个方法是在Rxjs中一个类中。要使用这个这个,需要导入angular/core 的这个核心组件。

import { Component, OnInit } from '@angular/core';

1. 定义一个事件方法:

  • 用@Output装饰器注解属性。
  • 定义一个泛型参数。通常用一个数据结构类或者接口
@Output()
lastPrice: EventEmitter<PriceQuote> = new EventEmitter();


export class PriceQuote{
  constructor(public stockCode: string, public lastPrice: number)
}

2.发送方法

constructor(){
  let priceQuote: PriceQuote = new PriceQuote(this.stockCode, 100);
  this.lastPrice.emit(priceQuote);
}

3. 在父类中接收数据方法

       首先在父组件模版中用事件绑定方式定义一个事件绑定。

<app-price-quote (lastPrice)="priceQuoteHandler($event)"></app-price-quote>
  • lastPrice 是事件名称
  • priceQuoteHandler($event) 是绑定的方法

然后在控制器中定义事件处理方法priceQuoteHandler

priceQuote: PriceQuote = new PriceQuote("", 0);

priceQuoteHandler(event: PriceQuote){
  this.priceQuote = event;
}
  • event: PriceQuote 这个参数类型明确申明为消息类型
  • 事件赋值给本地的 this.priceQuote属性上。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值