angular - Angular Ionic:“对象”类型上不存在属性“json”
问题描述
我正在创建一个显示 github 用户及其详细信息的 Ionic 2 项目。我创建了名为 github-users.ts 的服务文件,编译器在 .json() 方法中显示了这个错误。
“对象”类型上不存在属性“json”
这是我的github-users.ts源文件
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Rx';
import "rxjs/add/operator/map";
import { User } from "../../models/user";
@Injectable()
export class GithubUsersProvider {
githubApiUrl = 'api.github.com';
constructor(public http: HttpClient) {
console.log("Hello Github Users service");
}
load(): Observable<User[]> {
return this.http.get(`${this.githubApiUrl}/users`)
.map(res => <User[]>res.json());
}
}
我从控制台收到此错误
core.js:1449 ERROR Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[GithubUsersProvider -> HttpClient]:
StaticInjectorError(Platform: core)[GithubUsersProvider -> HttpClient]:
NullInjectorError: No provider for HttpClient!
Error: StaticInjectorError(AppModule)[GithubUsersProvider -> HttpClient]:
StaticInjectorError(Platform: core)[GithubUsersProvider -> HttpClient]:
NullInjectorError: No provider for HttpClient!
at _NullInjector.get (core.js:1003)
at resolveToken (core.js:1301)
at tryResolveToken (core.js:1243)
at StaticInjector.get (core.js:1111)
at resolveToken (core.js:1301)
at tryResolveToken (core.js:1243)
at StaticInjector.get (core.js:1111)
at resolveNgModuleDep (core.js:10896)
at _createClass (core.js:10933)
at _createProviderInstance$1 (core.js:10907)
at _NullInjector.get (core.js:1003)
at resolveToken (core.js:1301)
at tryResolveToken (core.js:1243)
at StaticInjector.get (core.js:1111)
at resolveToken (core.js:1301)
at tryResolveToken (core.js:1243)
at StaticInjector.get (core.js:1111)
at resolveNgModuleDep (core.js:10896)
at _createClass (core.js:10933)
at _createProviderInstance$1 (core.js:10907)
at c (polyfills.js:3)
at Object.reject (polyfills.js:3)
at NavControllerBase._fireError (nav-controller-base.js:223)
at NavControllerBase._failed (nav-controller-base.js:216)
at nav-controller-base.js:263
at t.invoke (polyfills.js:3)
at Object.onInvoke (core.js:4760)
at t.invoke (polyfills.js:3)
at r.run (polyfills.js:3)
at polyfills.js:3
解决方案
您需要在导入下将 HttpClientModule 导入您的 app.module.ts
imports:[
HttpClientModule
]
推荐阅读
- excel - 如何在 VSTS 中构建包含 Excel 创建的项目?
- jenkins - 詹金斯:如果未发现任何更改,则跳过构建
- angularjs - AngularJS路由没有显示单词之间空格的连字符
- php - 上传时Laravel正在旋转图像
- django - 当用户喜欢帖子时,我的代码假定该用户喜欢该组的每个帖子,需要解决此问题
- excel - VBA字典匹配/复制/粘贴不起作用
- r - ggplot2:在 aes(..) 和 geom_bar(..) 中使用 `fill = ...`。颜色不重复
- ruby-on-rails - Stripe figaro gem main:Object (NameError)
- asp.net-core - 带有会话和测试的 .NET Core ASP.NET 控制器
- android - One Signal 缺少支持库 - Android SDK