2017-07-25 41 views
0

我新在這兩個angular2.net core我跟着this教程和教訓相當的解決方案具有角(和.netcore)工作。我只是有一個問題!如何使用服務類angular2

當我創建這樣一個服務:

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得到這個錯誤,當我跑的應用程序:

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 { 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

根據例外情況,您沒有添加模塊。在您的app.module.ts文件中添加AccountService

providers: [AccountService] 
+0

謝謝....我真的搞混了......我的項目是與.net核心的角度SPA模板,我有3個app.module命名爲:{app.module.client,app.module.server,app.module.shared } ...當我在app.module.server中添加這個提供的問題解決了!!!!! –