找不到名称'Input'.ts(2304)

时间:2019-08-20 13:20:51

标签: angular typescript decorator

我想使用角度数据绑定和Input装饰器将输入值从一个组件获取到另一个给定的子组件。

我有一个最小的示例向您展示我如何完成此任务:

父模板:

<h4>Passing value of input element to child component:</h4>
<input [ngModel]="name" (ngModelChange)="name = $event">
<p>{{name}}</p>
<hello [name]="name"></hello>

父组件:

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  name = '';
}

子组件:

@Component({
  selector: 'hello',
  template: `<h4>Passed : "{{ name }}" to child component!</h4>`,
  styles: [`h1 { font-family: Lato; }`]
})
export class HelloComponent  {
  @Input() name: string;
}

这似乎可以在stackblitz上正常工作: https://stackblitz.com/edit/angular-pggcbd

但是我的本地打字稿编译器响应:

Cannot find name 'Input'.ts(2304)

并标记@Input()装饰器。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

它只是丢失或不正确的导入。

将导入内容添加到import { Component, Input } from '@angular/core'