首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当索引超过10时,模板视图更改遍历JSON对象

当索引超过10时,模板视图更改遍历JSON对象
EN

Stack Overflow用户
提问于 2019-07-15 12:18:00
回答 1查看 27关注 0票数 0

我有这样的JSON对象。

代码语言:javascript
复制
{
CR1: "aaa"
CR2: "bbb*2"
CR3: "ccc/2"
CR4: "ddd-23"
CR5: ""
CR6: "SS"
CR7: ""
}

在“CR”之后的索引是动态添加的,并在使用ngFor迭代时在模板中显示如下所示:

但是,当CR索引超过10时,视图会发生如下变化:

下面是模板中的代码:

代码语言:javascript
复制
<div class="row mt-10" *ngFor="let item of computationLogicObj | keyvalue; trackBy: trackByFn">
    <div class="col-md-4">
        <label class="form-control-label" for="field_{{item.key}}">{{item.key}}</label>
    </div>
    <div class="col-md-6">
         <input type="text" class="form-control" id="{{item.key}}" name="{{item.key}}" [(ngModel)]="computationLogicObj[item.key]" [disabled]="!isInternal">
    </div>
    <div class="col-md-2">
        <a (click)="deleteComputationLogic(item.key)">
            <fa-icon [icon]="'times'"></fa-icon>
        </a>
    </div>
</div>

trackByFn

代码语言:javascript
复制
trackByFn(index: any, item: any) {
        return item.key;
    }

在控制台中,json对象如下所示,这是预期的:

代码语言:javascript
复制
{
CR1: "aaa"
CR2: "bbb*2"
CR3: "ccc/2"
CR4: "ddd-23"
CR5: ""
CR6: ""
CR7: ""
CR8: ""
CR9: ""
CR10: ""
CR11: ""
}

那么到底是什么改变了这个观点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-15 12:44:24

keyvalue管道对您提供的键进行排序。因此,'CR10‘< 'CR2’并显示在列表的首位。我建议将您的数据结构保持为{key: string, value: string}对象的数组,并避免使用keyvalue管道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57039629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档