Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular HttpClient返回“;无法读取属性';获取';“未定义”的定义;[附件七]_Angular_Class_Ecmascript 6_Angular Httpclient - Fatal编程技术网

Angular HttpClient返回“;无法读取属性';获取';“未定义”的定义;[附件七]

Angular HttpClient返回“;无法读取属性';获取';“未定义”的定义;[附件七],angular,class,ecmascript-6,angular-httpclient,Angular,Class,Ecmascript 6,Angular Httpclient,我正在尝试在Angular 7中创建一个简单的API服务,可以包含在任何需要它的组件中。然而,每当我从组件调用它时,我都会得到一个错误。例如,如果从我的组件中调用ApiService.read('/public/flavorsofcandy/')我得到: 错误类型错误:无法读取未定义的属性“get” 现在,我不确定这是为什么,但我觉得这是一件简单而愚蠢的事情。然而,我找不到发生这种情况的原因。我觉得这是因为我没有完全理解与类相关的概念,而不是Angular 7本身 api.service.ts

我正在尝试在Angular 7中创建一个简单的API服务,可以包含在任何需要它的组件中。然而,每当我从组件调用它时,我都会得到一个错误。例如,如果从我的组件中调用
ApiService.read('/public/flavorsofcandy/')
我得到:

错误类型错误:无法读取未定义的属性“get”

现在,我不确定这是为什么,但我觉得这是一件简单而愚蠢的事情。然而,我找不到发生这种情况的原因。我觉得这是因为我没有完全理解与类相关的概念,而不是Angular 7本身

api.service.ts

mycomponent.ts


未定义您的
HttpClient
。在代码行
私有http:HttpClient
声明它,但从不给它赋值,因此它保持为
未定义

HttpClient
类是可注入的,因此我们可以将其注入到
ApiService
的conscructor中,如下所示:

constructor(private http: HttpClient) {}

现在,我们可以通过调用
this.http.get(someUrl.subscribe)(ex=>{}),在这个服务的任何地方访问它

未定义您的
HttpClient
。在代码行
私有http:HttpClient
声明它,但从不给它赋值,因此它保持为
未定义

HttpClient
类是可注入的,因此我们可以将其注入到
ApiService
的conscructor中,如下所示:

constructor(private http: HttpClient) {}

现在,我们可以通过调用
this.http.get(someUrl.subscribe)(ex=>{}),在这个服务的任何地方访问它

您没有注入
HttpClient
。您需要使用
构造函数来注入它。看见不要忘记在
AppModule
中导入
HttpClientModule
,您没有注入
HttpClient
。您需要使用
构造函数来注入它。看见别忘了在你的
AppModule

中导入
HttpClientModule
,这给了我一个错误
error TypeError:\u scripts\u api\u service\u WEBPACK\u IMPORTED\u MODULE\u 3\uuuu.ApiService.read不是一个函数
,但我会继续玩下去看看原因。@invot
mycomponent.ts
也有同样的问题。您需要注入
ApiService
。导入行应该是“../../scripts/api.service”中的
import{ApiService}然后以相同的方式将其注入构造函数。exp)
constructor(私有api:ApiService){}
然后在该类中的任何位置调用它,如
this.api.read(someUrl)
这给了我一个错误
错误类型错误:_scripts\u api\u service\u WEBPACK\u IMPORTED\u MODULE\u 3\u.ApiService.read不是一个函数
,但我会继续玩下去看看原因。@invot mycomponent.ts也有同样的问题。您需要注入
ApiService
。导入行应该是“../../scripts/api.service”中的
import{ApiService}然后以相同的方式将其注入构造函数。exp)
constructor(私有api:ApiService){}
然后在该类中的任何位置调用它,如
this.api.read(someUrl)
constructor(private http: HttpClient) {}