【发布时间】:2021-04-12 08:57:39
【问题描述】:
请大家帮忙!我从https://developers.giphy.com/ 获取数据,并将它们传递给模式进行查看,除了imageUrl 之外的所有其他数据都显示。 (我做错了什么,为什么不显示gif)
在下面查看我的代码
这里是调用api的方法
data = new BehaviorSubject<any>([]);
search(event){
this.http
.get(
this.searchEndpointGiphy +
"api_key=" +
giphyKey +
"&q=" +
event.target.value +
"&limit =" +
limit +
"&offset=" +
offset +
"&rating=" +
rating +
"&lang=en",
)
.subscribe((gifData: any) => {
this.data.next(gifData.data);
}
);
this.modalPopUp();
}
这里是 modalPopup 我也在这里将数据传递给我的模态
modalPopUp() {
const modalRef = this.modalService.open(ModalPopUpComponent);
modalRef.componentInstance.data = this.data;
}
最后是我的模态 html 文件
<div class = "container" *ngFor="let d of data | async">
<div class = "row">
<div class = "col-12 col-6">
</div>
<div class = "col-12 col-6">
<div class="card">
<img [src]="d.url" class="card-img-top img-fluid">
<div class="card-body">
<h5 class="card-title">{{d.title}}</h5>
</div>
</div>
</div>
</div>
</div>
请问为什么 imageUrl 不显示?? 已经尝试了我在这里看到的所有问题/答案,但没有一个能够解决我的问题
【问题讨论】:
-
嗯,可能
d.url没有定义,不是有效的图像 URL,或者您无法访问此 URL。检查您的浏览器开发人员工具的控制台和网络选项卡。我猜你必须添加你的 API 密钥。 -
url 已定义,您可以在这里查看ibb.co/XSL1qWp 进行确认,还添加了我的 api 密钥。如果我复制 imageUrl 并粘贴到新选项卡上,它的显示,这意味着它是有效的。
-
您必须在应用程序的上下文中对其进行验证。如果确实有对图像的请求以及结果是什么,请检查网络选项卡。或者如果控制台中有错误。此外,您可以测试使用硬编码 URL (
<img src="https://...">) 而不是数据绑定 (<img [src]="...">) 时会发生什么。
标签: javascript angular giphy giphy-api