我正在研究国际化的角度库,我想制作一个角度组件,该组件返回给定语言的所有翻译。为了测试,我创建了以下TranslateComponent
import {Component} from '@angular/core';
@Component({
selector: 'trans-translate',
templateUrl: './translate.component.html'
})
export class TranslateComponent {
// region Public fields
public data: string[] = ['This', 'is', 'Sparta'];
// endregion
}
带有显示数据的简单html模板:
{{ data | json }}
访问此组件的URL为http://localhost:4200/translate,如果我从浏览器访问它,一切正常(我得到以下结果:显示[[This],“ is”,“ Sparta”]。 问题是我想用HttpClient调用它,并且在那里不起作用。我只是做了一个简单的测试:
import {Component, OnInit} from '@angular/core';
import {HttpClient} from '@angular/common/http';
@Component({
selector: 'app-page-test',
templateUrl: './test-page.component.html'
})
export class TestPageComponent implements OnInit {
// region Constructor
public constructor(
private readonly _HTTP: HttpClient
) {}
// endregion
// region Public methods
public ngOnInit(): void {
this._HTTP.get('/translate').subscribe((result: any): void => {
console.log(result);
});
}
// endregion
}
但是我得到的只是身体错误404:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /translate</pre>
</body>
</html>
我不知道我想念什么?是我必须添加到请求中的标头吗?
出于记录,我实际上使用的是angular 7,我使用命令“ npm run start”启动服务器,该命令基本上只执行tu“ ng serve”命令。
答案 0 :(得分:0)
翻译和测试是两个组成部分。 localhost:4200 / translate实际上是一个组件,并显示数据。
在测试页中,您尝试使用HttpClient调用服务。不会调用转换组件并返回数据。
希望这就是您提到的意思
t页面localhost:4200 / test向 本地主机:4200 / translate,所以我为什么会出问题