2017-07-25 3 views
0

でサービスクラスを使用するためにどのように私は私がthisチュートリアルに続き、角度(と.netcore)で動作するようにかなりのソリューションを学んだangular2.net coreの両方で新しいです。私はちょうど問題があります!はangular2

Exception: Call to Node module failed with error: Error: Uncaught (in promise): Error: No provider for AccountService! Error: No provider for AccountService! at Error (native)

私はこのようなサービスを作成します:

import { Injectable } from '@angular/core' 
import { Http } from '@angular/http' 
import 'rxjs/RX' 
import { AccountSummary } from './account-summary.type' 
import { AccountDetail } from './account-detail.type' 
import { AccountType } from './account-type.enum' 

@Injectable() 

export class AccountService 
{ 
    constructor(private http : Http) 
    { 
    } 
getAccountSummeries() 
{ 
    debugger 
    return this.http.get('api/Bank/GetAccountSummeries') 
     .map(response => response.json() as AccountSummary[]) 
     .toPromise(); 
} 
} 

をしてapp.module.share.tsファイルにインポートします。私は、アプリケーションを実行したときに

. 
    . 

import { AccountService } from './components/shared/account.service' //Here<< 


export const sharedConfig: NgModule = { 
    bootstrap: [AppComponent], 

    //Namespace Off Components: 
    declarations: [ 
     AppComponent, 
     NavMenuComponent, 
     CounterComponent, 
     FetchDataComponent, 
     HomeComponent, 
     AccountlistComponent, 
     AccountSummaryComponent, 
     ExampleComponent, 
     FormatAccountNumberPipe, 

     HeaderComponent 
    ], 
    imports: [ 
     RouterModule.forRoot([ 
     //paths... 
     ]) 
    ], 
    providers: [AccountService] //Here<<<<<<<<<<<<<<<<<<<<< 

}; 

IVは、このエラーを得ました私はこのような私のサービスを使用します:

import { Component } from '@angular/core'; 
import { AccountSummary } from '../../shared/account-summary.type' 
import { AccountType } from '../../shared/account-type.enum' 
import { AccountService } from '../../shared/account.service' 

@Component({ 
    selector: 'account-list', 
    templateUrl: './account-list.component.html' 
}) 
export class AccountlistComponent { 

    cashAccounts: AccountSummary[]; 
    creditAccounts: AccountSummary[]; 
    constructor(private accountService: AccountService) { 
    } 

    ngOninit() { 
     this.accountService.getAccountSummeries().then(accounts => { 
     this.cashAccounts = accounts }) 
    } 
} 
+1

あなたにもapp.moduleファイルを表示できますか? –

+0

@MattSugden私は実際に混乱させました...私のprojは.netコアの角SPAテンプレートです。私は3つのapp.moduleという名前の:{app.module.client、app.module.server、app.module.shared} ..この問題を解決するには、app.module.server !!!!!でこれを追加してください。 –

答えて

2

例外によると、モジュールを追加していませんでした。 AccountServiceをあなたのapp.module.tsファイルに追加してください。

providers: [AccountService] 
+0

ありがとう....実際には混乱してしまった...私のprojは.netコアの角型SPAテンプレートで、3つのapp.moduleという名前が付けられています。{app.module.client、app.module.server、app.module.shared } ...これをapp.module.serverに追加すると問題が解決します!!!!! –