【发布时间】:2018-07-13 17:58:28
【问题描述】:
我有一个 GET 方法,它在路由 localhost:3000/documents 上返回以下 JSON
[{
"id": "5b48bffc644fca001419769c",
"names": [{
"name": "bob"
},
{
"name": "stan"
}
],
"cities": [{
"city": "London"
},
{
"city": "Madrid"
}
]
}]
我想连接所有的名字和城市,并用 Angular 将它们显示在 HTML 标记中。
<p> id </p>
<p> concatenated names here </>
<p> concatenated cities here </>
是否可以使用 ngFor 访问文档并连接数组值?
我有以下组件:
import {Component, OnInit} from '@angular/core';
import {DocumentService} from '../services/document.service';
import {Document} from './document.model';
@Component({
selector: 'app-document',
templateUrl: './document.component.html',
styleUrls: ['./document.component.css']
})
export class DocumentComponent implements OnInit {
documents: Document[];
constructor(private documentService: DocumentService) {
}
ngOnInit() {
this.getDocuments();
}
getDocuments(): void {
this.documentService.getDocuments()
.subscribe(documents => this.documents = documents);
}
}
还有以下服务:
import {Injectable} from '@angular/core';
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {Document} from '../document/document.model';
@Injectable({providedIn: 'root'})
export class DocumentService {
private urlDocuments = 'localhost:3000/documents';
constructor(private http: HttpClient) {
}
getDocuments() {
return this.http.get<Document[]>(this.urlDocuments);
}
}
我的文档模型是:
export class Document {
public _id: string;
public names: [{ name: string }];
public cities: [{ city: string }];
constructor(_id: string, names: [{ name: string }],
cities: [{ city: string }]]) {
this._id = _id;
this.cities=cities;
this.names= name;
}
}
【问题讨论】:
-
是
names和cities中的对象吗,假设{ "name": "bob" }和{ "city": "Madrid" }打算成为Document? -
我的意思是 JSON 与它下面的代码有什么关系?如果可能,请编辑帖子并澄清这一点。
-
文档模型为:id:String,names:[name:string],city:[city:string]
标签: javascript json angular