Не удается найти имя + "Вход". любой Angular 2

Я пытаюсь получить @Input для работы с Typescript в Angular 2. Я получаю следующую ошибку, и я не понимаю, почему.

[ts] Не удается найти имя "Вход". любой

Ниже приведен код этого компонента.

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

@Component({
   selector: 'app-item',
   templateUrl: './app-item.component.html',
   styleUrls: ['./app-item.component.css']
})
export class AppItemComponent implements OnInit {
      @Input item; //TypeScript complains here. 

      constructor() { }

      ngOnInit() {}
}

Проект и компонент были созданы с помощью CLI Angular. Почему не может Typescript определить украшение @Input?

Ответ 1

Вам нужно добавить это,

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

Ответ 2

В моем случае у меня уже было:

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

Итак, когда я пытался использовать:

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

Это не сработало.

Что мне нужно было сделать, так это импортировать (без слова Компонент)

import { Input } from '@angular/core';

И это работало просто отлично

Ответ 3

@Marcielli, это не сработало из-за двойного импорта компонента. Если вы измените оператор импорта на следующий

import {Component, OnInit, Input} из '@angular/core';

С тобой все будет в порядке. Необязательно, добавление модуля ввода в отдельном операторе импорта - это прекрасно, но обычно вам следует либо импортировать все компоненты из модуля в одном операторе, либо каждый в отдельных операторах.