我剛剛開始使用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;
}
}
而這個簡單的源代碼給了我一個很奇怪的例外: EXCEPTION:錯誤:未捕獲的(以諾) :TypeError:dep爲空
如果我刪除構造函數DI,則異常消失。
我一直在爲它奮鬥了過去4小時,並沒有任何想法來解決它。另一個奇怪的是,異常消息是無用的。
謝謝。
UPDATE
通過構造DI我提到了這一點:
constructor(private apiClient: ApiClient) { }
更新2
我與組件更換注射()({})和現在的作品完美。這是什麼意思?破碎的本地Angular2資源或某種錯誤配置?
我發佈了一些解釋,爲什麼這不起作用。我在你的問題中缺少的是你期望發生的事情。角度DI不能從空氣中創建'密碼','用戶名'和'rememberMe' ;-)。你想要或希望他們來自哪裏? –
我已經刪除了這個方法,但仍然得到這個異常 –
什麼方法? 。 。 –