【问题标题】:Angular *ngFor - Cant get my Arrays to loopAngular *ngFor - 无法让我的数组循环
【发布时间】:2022-01-26 06:59:42
【问题描述】:

这不断出现错误:找不到类型为“object”的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如 Arrays。但是当我尝试将其打印到控制台时它会起作用,任何帮助都将不胜感激

谢谢(:

//TypeScript File :
public names = ["Jimmy" , "Lilly"];
  public ages = [20,25];
  public profile = {
    Name : this.names,
    Age : this.ages
  }

//HTML File :
<div *ngFor = "let i of profile">
    {{i.Name}}
    {{i.Age}}
</div>

【问题讨论】:

    标签: javascript html arrays angular ngfor


    【解决方案1】:

    错误已经提到了问题所在。

    NgFor 只支持绑定到数组等 Iterables

    您需要使用数组才能使*ngFor 起作用

    //TypeScript File
    public jimmy = { Name: "Jimmy", Age: 20 };
    public lilly = { Name: "Lilly", Age: 25 };
    public profiles = [jimmy, lilly]
    
    //HTML File :
    <div *ngFor = "let i of profiles">
        {{i.Name}}
        {{i.Age}}
    </div>
    

    【讨论】:

    • 谢谢 Daniel 是的,这很有效,我只是很困惑,因为它让我以另一种方式打印到控制台,但你说得通。你的男人丹尼尔(:
    【解决方案2】:

    我不知道我是否确定你想要完成什么,但绑定 i.Name 是不正确的,因为你将 Name 定义为一个数组。您可以使用 ngFor 遍历 profile.Name,然后绑定属性“name”。更改变量名称可能不会那么混乱:)

    <div *ngFor="let i of profile.Name">
    {{i.name}}
    </div>
    

    同样适用于年龄

    【讨论】:

    • 支持约翰尼!然而我喜欢这样做的原因是因为你可以拥有 HTML 显示:Lily 25 Jimmy 20 而不是 Lily Jimmy 20 25,谢谢 Johnny (:
    猜你喜欢
    • 2018-06-17
    • 1970-01-01
    • 2021-06-04
    • 2019-11-10
    • 2020-07-16
    • 2020-10-25
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多