Ответ 1
Вам нужно добавить это,
import {Component, Input} from '@angular/core';
Я пытаюсь получить @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?
Вам нужно добавить это,
import {Component, Input} from '@angular/core';
В моем случае у меня уже было:
import { Component, OnInit } from '@angular/core';
Итак, когда я пытался использовать:
import {Component, Input} from '@angular/core';
Это не сработало.
Что мне нужно было сделать, так это импортировать (без слова Компонент)
import { Input } from '@angular/core';
И это работало просто отлично
@Marcielli, это не сработало из-за двойного импорта компонента. Если вы измените оператор импорта на следующий
import {Component, OnInit, Input} из '@angular/core';
С тобой все будет в порядке. Необязательно, добавление модуля ввода в отдельном операторе импорта - это прекрасно, но обычно вам следует либо импортировать все компоненты из модуля в одном операторе, либо каждый в отдельных операторах.