输入,输出修饰符作为指令元数据

时间:2018-08-02 15:11:00

标签: angular typescript

我正在尝试将@Input@Output伪指令作为组件元数据(而不是将它们包含在组件类中)。您可以参考下面的文档链接以查看我要实现的目标。

Declaring Input and Output properties

但是,当我尝试接收以下错误时,

  

类型'HeroComponent'上不存在属性'deleteRequest'。

这是我的StackBlitz小提琴供参考。

有人可以照亮这里吗?

1 个答案:

答案 0 :(得分:2)

您可以省略@Input/@Output的导入和使用,但仍然必须声明一个变量才能使用它。

Stackblitz

import { Component, EventEmitter } from '@angular/core';
import { Hero } from '../app/hero'

@Component({
  inputs: ['hero'],
  outputs: ['deleteRequest'],
  selector: 'hero',
  template: 
  `
    <div>
      <pre>{{hero | json}}</pre>
      <button (click)="deleteRequestInit()">Get</button>
    </div>
  `
})

export class HeroComponent {

  public hero: Hero;
  public deleteRequest: EventEmitter<any> = new EventEmitter<any>();

  public deleteRequestInit(): void {
    this.deleteRequest.emit({'message': 'Are you sure you want to delete this record!.'})
  }
}