javascript - 打字稿响应选择数据
问题描述
HMy html 显示未定义(未定义),我可以在调试器中看到数据,所以我不确定我是否没有正确使用选择数据?HTML 视图
<div *ngIf="publishItemsWarningMessage" class="text-danger">
{{publishItemsWarningMessage}}
<ul>
<li *ngFor="let detail of publishItemsWarningMessageDetails">
{{detail}}
</li>
</ul>
</div>
打字稿
if (response.UnpublishedRelatedTemplates.length > 0) {
this.publishItemsWarningMessageDetails = Enumerable
.From(response.UnpublishedRelatedTemplates)
.Select(UnpublishedRelatedTemplates => response.UnpublishedRelatedTemplates.RelatedTemplateId + " (" + response.UnpublishedRelatedTemplates.TemplateId + ")")
.ToArray();
}
调试
UI显示未定义(未定义)
解决方案
更新您的Typescript
代码,如下所示。替换response.UnpublishedRelatedTemplates
为UnpublishedRelatedTemplates
内部.Select(...)
if (response.UnpublishedRelatedTemplates.length > 0) {
this.publishItemsWarningMessageDetails = Enumerable
.From(response.UnpublishedRelatedTemplates)
.Select(UnpublishedRelatedTemplates => UnpublishedRelatedTemplates.RelatedTemplateId + " (" + UnpublishedRelatedTemplates.TemplateId + ")")
.ToArray();
}
解释
你得到undefined
是因为Select
你在里面使用response.UnpublishedRelatedTemplates.RelatedTemplateId
但是response.UnpublishedRelatedTemplates
是一个array
所以它不会有RelatedTemplateId
。相反,您可以index
[index]
使用response.UnpublishedRelatedTemplates[index].RelatedTemplateId
.
但是由于您已经Enumerating
在您的数组中,因此UnpublishedRelatedTemplates
将保持response.UnpublishedRelatedTemplates[index]
. 所以你可以简单地更换它。
下面试试
let response = {
UnpublishedRelatedTemplates: [{
RelatedTemplateId: 'TMRelated2',
TemplateId: 'TMRelated1'
}, {
RelatedTemplateId: 'TMDummy2',
TemplateId: 'TMDummy1'
}]
};
if (response.UnpublishedRelatedTemplates.length > 0) {
let publishItemsWarningMessageDetails = Enumerable
.From(response.UnpublishedRelatedTemplates)
.Select(UnpublishedRelatedTemplates => UnpublishedRelatedTemplates.RelatedTemplateId + " (" + UnpublishedRelatedTemplates.TemplateId + ")")
.ToArray();
console.log(publishItemsWarningMessageDetails);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/linq.js/2.2.0.2/linq.min.js" integrity="sha256-dq1fzSor46Oc+U/DjuE2hKKN0FfvbVx+CW5GBn1mhiQ=" crossorigin="anonymous"></script>
推荐阅读
- unity3d - 执行云脚本的操作(推送通知)在段中不起作用
- android - 一旦对象与 RecyclerView 分离,如何停止 Stringify 方法?
- android - 如何在 Jetpack Compose 中仅显示最后 3 行文本?
- macos - Android SDK 位置不能位于文件系统根目录。[苹果电脑]
- 2sxc - 2sxc DNN 在同一个应用程序上复制数据内容类型
- python - Matplotlib 图不更新 - PyQt5
- javascript - 如何在 Cloudflare 工作脚本中使用 ES6 导出?
- sql - Microsoft SQL Server PIVOT/UNPIVOT 问题
- azure - Azure AVD - 将 VM 添加到主机池 - 自定义配置 URL | json文件格式
- javascript - TypeError:无法在 React 中读取未定义的属性(读取 'id')