angular - 如何使用解析器获取模型对象数组?
问题描述
我使用解析器从服务器获取数据
import {Resolve, ActivatedRoute} from "@angular/router";
import {Observable} from "rxjs";
import {RouterStateSnapshot} from "@angular/router";
import {ActivatedRouteSnapshot} from "@angular/router";
import {Injectable} from "@angular/core";
import {HttpClient, HttpRequest} from "@angular/common/http";
import {Town} from "../_models/town";
@Injectable()
export class TownsListResolver implements Resolve<any>{
constructor(private http: HttpClient,private activatedRoute: ActivatedRoute) {
}
resolve(route:ActivatedRouteSnapshot, state:RouterStateSnapshot):Observable<Town[]> {
return this.http.get('/api/towns');
}
}
我不会像这样转换对象数组:
data['towns']['models'].forEach((item) => {
this.townsList.push(item);
});
我应该使用哪些 rxJs 或基本角度函数来解决我的问题?
解决方案
我会简单地执行以下操作:
resolve(route:ActivatedRouteSnapshot, state:RouterStateSnapshot):Observable<Town[]> {
return this.http.get('/api/towns').pipe(
map(p => p['towns']['models'])
);
}
这样,你就可以继续暴露 Observable。
推荐阅读
- reactjs - 取一个字符串但需要反应组件
- java - 原因:android.view.InflateException: Binary XML file line #11: Error inflating class io.flutter.view.FlutterView
- c# - 如何构建像 Value = ClassName.Value 这样的脚本结构?
- reactjs - 测试运行完成后一秒 Jest 没有退出
- java - Feign 客户端:发布地图
在请求正文 => feign.FeignException:状态 400 读取 MAp - r - 如何在 R 中导入 XML-LMF 格式的词典以进行情感分析
- svn - SVN 标记一个标签
- angular - 基于条件的具有相同 url 的多个路由
- java - 尝试访问静态子文件夹时,Spring Boot 自定义 404 页面失败
- ios - 将 base64 字符串解码为 UIImage 时出错