我刚刚开始使用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' ;-)。你想要或希望他们来自哪里? –
我已经删除了这个方法,但仍然得到这个异常 –
什么方法? 。 。 –