2016-08-17 71 views
0

我創建了一個如下所示的NgModule,但在我的SomeComponent中,我仍然需要包含SomeService,否則會出錯。那是正確的方法嗎?與路由文件相同,我需要導入已導入NgModule的組件。Angular2 RC5:在組件和路由器文件中重複導入

@NgModule({ 
    imports:  [ CommonModule, SharedModule ], 
    declarations: [ SomeComponent ], 
    providers: [ SomeService ] 
}) 

export class TestModule { } 
在SomeComponent

import { SomeService } from "./some.service"; 

    export class SomeComponent { 
     constructor(private _someService: SomeService) { 
      this._comService.xxx 
     } 
    } 

回答

0

這是正確的。通過導入,您可以訪問服務類的屬性和方法,並在構造函數參數中包含對它的引用,告訴Angular檢索它的實例。

您通常不想做的唯一事情就是將服務列爲要使用它的組件中的提供程序。由於它已在模塊裝飾器的提供程序數組中列出,因此列表它作爲其他供應商將創建單獨的實例。

請參閱Angular NgModule docs

0

這是正確的。你仍然需要進行導入。你不需要在整個地方聲明提供者和指令。

相關問題