【发布时间】:2016-11-17 09:30:31
【问题描述】:
当我尝试运行我的 ionic2 应用程序 (Typescript) 时出现以下错误
ORIGINAL EXCEPTION: No provider for User! (BeerSearch -> User)
以下是我的代码
#providers/beer_search/BeerSearch
import { User } from '../user/user';
......
@Injectable()
export class BeerSearch {
constructor(private http: Http, user: User, config: Config) {
this.headers = new Headers();
this.headers.append('Access-Token', user.getAccessToken())
}
}
#providers/user/user
.....
@Injectable()
export class User {
accessToken: string;
constructor(private http: Http) {
this.accessToken = '<Some token>';
}
getAccessToken(){
return this.accessToken;
}
}
我在这里找不到我做错了什么,这也 在编译时不会给出任何错误 typescript。我只在运行时收到此错误。
【问题讨论】:
-
您是否在引导调用或相应组件中提供了
User服务? -
嘿@rinukkusu,感谢您的评论,但我在另一个提供者中调用一个提供者,我还需要将它添加到组件中吗? (因为我将它添加到组件中但仍然没有工作)
-
如果您愿意,您可以在服务中的服务中调用服务中的服务。这完全没有问题。您只需要将它们添加到
bootstrapproviders 数组或根组件的 providers 数组中。否则,它们不会像您刚刚经历的那样得到解决。 -
嗨@rinukkusu,是的,就是这样:),我不知道。多谢。如果您将此作为答案发布,我会接受:),干杯
标签: typescript angular ecmascript-6 ionic2