2017-02-18 43 views
2

我是一個試圖從ng-book 2(v49)學習Angular2的新手。以下是article.componenets.ts文件的內容:未捕獲的參考輸入未定義 - @Input()在Angular 2中不工作

import { Component, OnInit } from '@angular/core'; 
import { Article } from './article.model'; 

@Component({ 
    selector: 'app-article', 
    templateUrl: './article.component.html', 
styleUrls: ['./article.component.css'], 
host: { 
class: 'row' 
} 
}) 
export class ArticleComponent implements OnInit { 
    @Input() article: Article; 



    voteUp(): boolean { 
    this.article.voteUp(); 
    return false; 
    } 

    voteDown(): boolean { 
    this.article.voteDown(); 
    return false; 
    } 

    ngOnInit() { 
    } 

} 

這裏是關於角CLI錯誤:

ERROR in C:/Users/saad/Desktop/books/Angular JS2/angular2Reddit/src/app/article/article.component.ts (13,4): Cannot find name 'Input'.) 
webpack: Failed to compile. 

Console Error

回答

4

你缺少輸入指令的導入,所以改變第一行作爲

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

這是很好的做法,有一些價值的@input參數否則你會最終得到未處理的諾言錯誤一些地方在你的應用程序。

對於它可以在你的ngOnInit構造

ngOnInit() { 
    this.article={ 
     id: 0 
     ..... 
    }; 
} 

constructor(....) { 
    this.article={ 
     id: 0, 
     ..... 
    }; 
} 
+0

竭誠爲您服務內定義。 upvote也是。 – Aravind

+0

謝謝!解決了我的問題。雖然書中沒有提到這樣的事情。 –

+0

很酷。你以後會面對這些錯誤。 :) – Aravind

2

你,如果你想導入輸入使用它:

import { Component, OnInit, Input } from '@angular/core'; 
相關問題