【问题标题】:Binding and Using ngModel with Multi-nested JSON Object使用多嵌套 JSON 对象绑定和使用 ngModel
【发布时间】:2019-10-16 10:48:55
【问题描述】:

我正在尝试将 ngModel 与双嵌套的 JSON 对象绑定和使用。这就是我正在尝试使用的:(来自 PrimeNG 的日历)

<div *ngFor="let field of fields;">
    <div *ngFor="let player of field.players; let i = index;">
        PlayerID: {{player.playerid}}
        <div *ngFor="let goal of player.goals; let j = index;">
            {{goal.timestamp}} <p-calendar [showTime]="true" dateFormat="yy-mm-dd" timeFormat="hh:mm" required [(ngModel)]="field.players[i].goals[j].timestamp"></p-calendar></span><br>
        </div>
    </div>
</div>

但是,只有数组中的第一个日期值绑定正确,其他的根本不起作用。

【问题讨论】:

    标签: html angular typescript primeng


    【解决方案1】:

    尝试对fields 也使用索引。

    <div *ngFor="let field of fields; let fi = index;">
        <div *ngFor="let player of field.players; let i = index;">
            PlayerID: {{player.playerid}}
            <div *ngFor="let goal of player.goals; let j = index;">
                {{goal.timestamp}} <p-calendar [showTime]="true" dateFormat="yy-mm-dd" timeFormat="hh:mm" required [(ngModel)]="fields[fi].players[i].goals[j].timestamp"></p-calendar><br>
            </div>
        </div>
    </div>
    

    【讨论】:

    • 似乎仍然产生同样的问题。
    • 我刚刚在stackblitz.com/edit/angular-dbjdyw 上尝试过,它成功了。我注意到您在未打开 &lt;span&gt; 的情况下添加了 &lt;/span&gt;。是笔误吗?
    • 这个标记可能在form标签内,并且每个输入字段必须有不同的name
    • 感谢您的帮助。这是一个缺失的索引,我有一个愚蠢的错字。
    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    相关资源
    最近更新 更多