- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试调用一个新端点来显示数据,我意识到在上一组有效的数据中,它在数据周围用一对额外的“[]”括号进行控制台,我认为这就是问题是,而新端点不会以我使用数据的方式产生它!
这是 NgFor 失败的原因:找不到“行业下一个前沿”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定(bind)到 Iterables,例如数组。
旧端点使用接口(interface)来存储数据并仅访问该数据,而新端点返回 json 并尝试将其存储在数组中,然后由 ngfor 使用。
我将首先显示 html 代码:
<div *ngFor="let sessions of getSortedSessionList()">
<tl-title
*ngIf="sessions[0]"
[title]="getSessionDay(sessions[0].startDatetime)"
[explore]="true">
</tl-title>
<div *ngFor="let session of sessions">
<tl-session-card
[title]="session.name"
[startTime]="getSessionTime(session.startDatetime, true)"
[endTime]="getSessionTime(session.endDatetime, false)"
[location]="getLocation(session.location)"
[path]="sessionPath(session.id, session.name)">
</tl-session-card>
</div>
</div>
我认为新端点可能无法工作的原因是它在某种程度上没有摆脱某处的对象括号:
端点(engagementService):
public sessionData: any[];
this.sessions(n.id)
.subscribe(data => {
this.sessionData = data;
}
然后当我使用其他文件中的数据时:
sessionList: any[];
this.sessionList = this.engagementService.sessionData;
getSortedSessionList() {
console.log('consoling within getSortedSessionList' + JSON.stringify(this.sessionList))
return this.sessionList;
}
数据返回如下:
[{
"id": "a0Wb0000006RoHwEAK",
"endDatetime": "2017-01-19T18:00:00.000+0000",
"location": "Davos-Klosters, Congress Centre, Sanada",
"name": "Industry's Next Frontier",
"photoURL": "https://fwsqa.weforum.org/images/sessions/a0Wb0000006RoHwEAK/standard"
}]
然而,有效的原始端点返回的数据如下:(我认为附加的“[]”是有区别的!)
[
[{
"id": "a0Wb0000006RqNlEAK",
"endDatetime": "2017-01-20T09:15:00.000+0000",
"location": "Davos-Klosters, Congress Centre, xChange",
"name": "Fertile Ground for Sustainable Growth",
"photoURL": "https://fwsqa.weforum.org/images/sessions/a0Wb0000006RqNlEAK/standard",
"roles": null,
"startDatetime": "2017-01-20T08:00:00.000+0000",
"thumbnailURL" }]
]
数据以类似的方式检索,但它是从端点调用的然后通过接口(interface)访问:
export interface IEngagementSideContentData {
sessionList?: any;
}
@Input() data: IEngagementSideContentData;
getSortedSessionList() {
if (!this.sessionList) {
this.sessionList = this.data.sessionList.sort(this.dateSort);
}
不知何故,这个旧端点和接口(interface)的使用意味着有一个额外的括号并且 ngfor 可以工作,任何建议都会很好,谢谢?
最佳答案
你首先有这个:
<div *ngFor="let sessions of getSortedSessionList()">
然后在里面你有这个:
<div *ngFor="let session of sessions">
getSortedSessionList() 返回什么? session 数组的数组? (这就是额外的 []
的来源?)
以下哪一个 ngFor 语句生成了错误?
HTML 表示使用 getSortedSessionsList() 获取 session 数组的数组
然后针对该数组中的每个 session 数组,处理每个 session 。
我认为你会使用这个
<div *ngFor="let session of getSortedSessionList()">
注意这里的单数 session
。不是两个 *ngFor
语句。
但我不确定我是否理解您的要求。
关于javascript - 数组被视为对象,无法 NgFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53782814/
我有 Angular + Firebase 应用程序。在我的一个组件中,我从 Firebase DB 获取元素并使用 *ngFor 将它们绑定(bind)到模板中: {{ comment.te
以下场景在 javascript 中会很简单,但我在 Angular 中遇到了一些问题。 我有一个像这样的数组: array a = ( "id" = 0, name = random(), colu
我有一个由部分组成的 firebase json 对象。部分内部还有部分线程。我正在尝试迭代这些部分,然后迭代线程。问题是我收到此错误 InvalidPipeArgument:管道“AsyncPipe
我无法在任何地方找到对差异的准确描述。与 *ngIf 和 ngIf 相同 *ngFor的例子 和一个ngFor的例子 最佳答案 区别在于*ngFor转换为 ) 允
这是一个我想实际解决的示例问题。我们将非常感谢您的帮助。非常感谢! 最佳答案 除非将其中一项设置为变量,否则无法直接显示 *ngFor 之外的一项
我如何在 Angular 2 中使用 *ngFor 遍历多维数组。下面是我使用的 DOM 包装器: 0 }"> {{menuName.name}} Pages
标题可能看起来很奇怪,但我所说的基本上是this link。正在做。 我正在寻找一种方法来使用当前迭代的 person在在*ngFor之外范围。 在他使用的链接中 ng-repeat-start和 n
我有以下对象: itemList = { "0": [], "1": [], "2": [], "3": [] }; 我还有以下 *ngFor: 如您所
我试图在我的 Angular 应用程序中显示对话列表,然后在每个对话标题下显示这些不同对话中包含的消息。 这是我最新的代码- HTML: {{ conversation.conversat
我想从 *ngFor 中删除 *ngFor 中的项目。 当我删除回复“test2”时, 在我添加其他回复后,“test3”变为空。
在表头中,我有动态列和搜索排序功能。但对于特定的列,我需要禁用排序功能。在表中 {{colName}}
我是 Angular 2 的初学者。我正在尝试创建一个具有动态表单的表,创建了表并且还绑定(bind)了值但是我无法访问 formControlName 中的值,尝试了下面的代码但它没有用。 有人可以
我正在使用Flowbite(flowbite.com),这是一个Tailwind CSS插件,正如你在我的Angular项目中所知道的。。一切都工作得很好,除了当我调用一个抽屉按钮内的表,这是渲染与n
{{ recipe.name }} {{ recipe.description }} 由于这条消息,我不能在这
我如何使用 ngFor 循环遍历以下对象数组并仅获取月份的名称? { "Jan": { "name": "January", "short": "Jan", "number
我正在 Angular 6 中开发一个 Web 应用程序。我从 Firebase 收到一组对象,并尝试使用 ngFor 向用户显示详细信息。我的对象数组是这样的: export interface C
抱歉,我不能在这里发布所有代码。但是,如果你能给我一些关于需要做什么的提示,我将不胜感激。 让我试着解释一下我的困境。 所以,这是我一直在尝试使用的代码片段 ngFor和 ngIf上:
我正在用数组中的数据填充表格,我想将自定义输入集中在表格的最后一个元素上,所以我有这个: {{ a few table fields}}
我有来自服务器的以下 JSON 响应: stuff = [ { "_id":"59080892c88561d46736a18d", "name":"Miscellaneo
我使用以下方法创建了一个 Angular 库: ng new my-workspace --create-application=false cd 我的工作区 ng 生成库 my-lib 图书馆工作。
我是一名优秀的程序员,十分优秀!