簡體   English   中英

如何在angular2中使用服務類

[英]How to use service class in angular2

我對angular2.net core都是angular2 ,我按照教程進行了學習,學習了使用angular( 和.netcore )的漂亮解決方案。 我只是有問題!

當我創建這樣的服務時:

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出現此錯誤:

異常:調用Node模塊失敗,並顯示以下錯誤:錯誤:未捕獲(承諾):錯誤:沒有AccountService提供程序! 錯誤:沒有AccountService提供程序! 錯誤(本機)

我這樣使用我的服務:

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 })
    }
}

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

providers: [AccountService] 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM