私はAngular2で始まったばかりです。私はAngular2のウェブサイト上のすべての先生を読んで、私のプロジェクトに取り組み始め、すぐに立ち往生しました。Angular2、コンストラクタDI例外をスローする
ここにソースがあります。
app.ts:
import { Component } from '@angular/core';
import { bootstrap } from '@angular/platform-browser-dynamic';
import { ApiClient } from './services/api-client';
@Component({
selector: 'app',
template: 'Hello',
providers: [ApiClient]
})
export class AppComponent { constructor(private apiClient: ApiClient) { } }
bootstrap(AppComponent);
API-client.ts: 例外:エラー:キャッチされない(約束で)
import { Injectable } from '@angular/core'
@Injectable()
export class ApiClient {
public login(username: string, password: string, rememberMe: boolean) : boolean {
if (username == 'testuser' && password == 'password')
return true;
else
return false;
}
}
そして、このシンプルなソースコードは私に非常に奇妙な例外を提供します:TypeError:depがnull
コンストラクタDIを削除すると例外がなくなります。
私は過去4時間それに苦しんでおり、それを修正するためのアイデアはありません。別の奇妙なことは、例外メッセージが役に立たないということです。
ありがとうございました。私はこの言及コンストラクタDIにより
UPDATE
:
constructor(private apiClient: ApiClient) { }
アップデート2
I成分({})と注射()を交換したと今では完全に動作。どういう意味ですか?壊れたローカルAngular2ソースや何らかの設定ミス?
なぜこれがうまくいかないのか、私はいくつか説明しました。私があなたの質問に欠けているのは、あなたが何を期待しているかです。 Angular DIは薄い空気から 'password'、' username'と 'rememberMe'を作成できません;-)。あなたはどこから来ることを望んでいますか? –
私はこのメソッドを削除したが、まだこの例外が発生しています –
どのような方法ですか? 。 。 –