2017-01-23 45 views
0

我不完全理解Angular 2中的@Injectable修飾器。即使我不使用它,服務也能正常工作。 (看下面的例子)Angular 2 - Injectable()裝飾器

使用@Injectable修飾符的目的是什麼?

下面是兩個例子,一個具有和一個沒有Injectable與相應plunker例子:

隨着@Injectable Example1`

@Injectable() 
export class AppService{ 
    get():any[]{ 
    return "something" 
} 

沒有@Injectable Example2

export class AppService{ 
    get():any[]{ 
    return "something" 
} 

當然我知道使用@Injectable裝飾器的原因,fo r依賴注射,但就像我之前說過的,我完全不明白。有人可以解釋嗎?

回答

1

如果該服務沒有構造函數參數,則不需要注入。無論如何,它被認爲將其添加到所有服務中,因爲這是一個常見的錯誤,即後來的參數被添加,但由於它之前正在工作,所以裝飾器被遺忘了。