angular - 收到来自 api 的信息,{{value_expression}} 的页面上没有结果
问题描述
嗨,谢谢你,
我有一个关于 {{ value_expression }} 的问题。我将运行一个使用 Drupal 9 的 REST api 的小型应用程序。我的列表组件工作得很好,但是当我进一步点击我的详细信息页面时,我不会收到任何信息,但是当我使用 {{ object|json }} 它正在输出整个(与硬币网址相关,请参见示例)api,因此它正在接收其数据。
我用什么:
- 角 10
- Drupal 9
示例 json 管道 {{ ico | json}}
[ { "title": "Coin", "body": "<p>This is just the description about the Coin project</p>\r\n", "field_coin_uri": "name-of-coin", "field_coin_symbol": "SYMB" } ]
数据服务.ts:
getIcoDetail(field_coin_uri: string) : Observable<Icos> {
const url = `${this.ApiUrl}/coins/${field_coin_uri}`;
return this.http.get<Icos>(url);
}
detail.component.ts:
export class IcoDetailComponent implements OnInit {
ico: Icos;
constructor(
private route: ActivatedRoute,
private dataService: dataService
) { }
ngOnInit() {
const field_coin_uri = this.route.snapshot.paramMap.get('field_coin_uri');
console.log(field_coin_uri);
this.dataService.getIcoDetail(field_coin_uri).subscribe( ico => this.ico = ico );
}
}
detail.component.html
<div *ngIf="ico">
{{ ico|json }}
<h3>{{ ico.title }}</h3>
<p>{{ ico.body }}</p>
</div>
如果有任何信息需要回答我的问题,请告诉我,我会提供给你。
解决方案
您从 API 接收的信息是一个数组。您需要使用索引值访问它并检查以下是否有效。
this.dataService.getIcoDetail(field_coin_uri).subscribe( ico => this.ico = ico[0] );
推荐阅读
- java - 位置侦听器 - 不是从服务开始,而是从活动开始
- django - 如何在艾伦 NLP 环境中运行 django 应用程序?
- html - 403 响应内联 CSS 的相对父路径中的图像
- swift - 查询文档中的 Firestore Map 属性
- php - 在 Woocommerce 中将第一个数组值设置为默认属性
- facebook - React Native Facebook 登录和分支 AppDelegate
- javascript - 如何使用正则表达式确保`@`旁边应该只有字母
- python - 使用 Python 从视频中提取文本
- angular - 如何找到最大值?
- kubernetes - 通过 kops 在 Kubernetes v1.9.10 上启用 Horizontal Pod Autoscaling