json - 嵌套接口
问题描述
我试图理解 Angular 5/TS 中的嵌套接口,但我无法达到任何正确的点。我创建了两个接口:
export interface Person {
person: PersonData;
}
export interface PersonData {
id: number;
speed: number;
weigth: number;
}
我还模拟了一个 JSON 服务器:https ://www.jasonbase.com/things/VmaZ.json (见下文)。
{
"person": [
{
"id": 1,
"speed": 100,
"weigth": 20
},
{
"id": 2,
"speed": 70,
"weigth": 20
},
{
"id": 4,
"speed": 10,
"weigth": 30
}
]
}
问题是:
- 我的思维方式正确吗?
- 如何通过 Observable Service 读取此数据并读写 test.person.speed 之类的对象?
解决方案
仅使用一个接口进行简化,一个很好的示例是:
export interface Person {
id: number;
speed: number;
weigth: number;
}
在你的组件中:
import { Component } from '@angular/core';
import { Person } from './person'; // get interface
import data from './person.mock.json'; // get mock
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
people: Person[] = data.person;
}
并循环如下:
<ul>
<li *ngFor="let person of people">
id {{person.id}} | speed {{person.speed}} | weight {{person.weigth}}
</li>
</ul>
工作示例:StackBlitz
推荐阅读
- django - Django-filter通过反向外键过滤
- sql-server - 如何仅授予对一个视角的访问权限
- android - 导入变量“按钮”时出现 Kotlin 错误
- java - 在 SQLite 中按 id 检索/获取行,android studio 不起作用
- compiler-errors - 如何将所有 SYSLIB 警告标记为错误
- android - Flutter 进程调试资源不工作失败错误
- python - 无法在 tumblr 平台上通过 automotion 上传照片
- python - 在 python 容器中管理 pip requirements.txt
- celery - 如何在芹菜花监视器中设置监视时间范围
- javascript - Angular 复选框和可见性