动态地将var分配给json
我在一个.ts文件中有一个变量动态地将var分配给json,json,angular,rxjs,Json,Angular,Rxjs,我在一个.ts文件中有一个变量var locations,希望它等于同一文件夹中的一个json对象。换句话说,.json文件每5秒更改一次,我需要更新变量。我认为rxjs是可以观察到的。我试过了 ngOnInit() { timer(0, 7000).pipe( switchMap( _ => this.hawkerservice.fetchNews() )).pipe( map((ret:any) => { this.locat
var locations
,希望它等于同一文件夹中的一个json对象。换句话说,.json文件每5秒更改一次,我需要更新变量。我认为rxjs是可以观察到的。我试过了
ngOnInit() {
timer(0, 7000).pipe(
switchMap( _ => this.hawkerservice.fetchNews()
)).pipe(
map((ret:any) => {
this.locations = ret
})
).subscribe();
}
现在,除了.fetchNews()
pull位于具有以下功能的端口上外,它工作正常:
export class MapjsonService{
theUrl = 'http://localhost:8000/locations.json';
constructor(private http: HttpClient) { }
fetchNews(): Observable<any>{
return this.http.get(this.theUrl)
}
}
导出类MapjsonService{
theUrl=http://localhost:8000/locations.json';
构造函数(私有http:HttpClient){}
fetchNews():可观察{
返回this.http.get(this.theUrl)
}
}
所以我的问题是,在不通过端口传递json对象的情况下,最好的方法是什么。也就是说,只是在本地获取
thx就这么简单。您的文件只是另一个资源,它托管在
本地
或服务器
上。您确实需要http
来访问它,因为它是托管的
与您的观点相反,您不能在不使用http
的情况下简单地运行应用程序,即使它是本地托管的
。这同样适用于json
文件。
您需要http
才能访问该文件。您的选择非常有限。您可以通过拉取(当前使用)或通过websocket从服务器上推送来通过http获取文件preferable@SandraWillford这是angular应该具备的基本功能。如果http已经在我的本地机器上,那么使用它是违反直觉的。这不是一个角度的问题,这是Javascript。您可以通过http get读取JSON文件,也可以推送它。另一个选项是使用导出的对象而不是json,但是您仍然需要在计时器上读取它。您是否尝试给出相对路径?它的行为如何?