HTML5并未分隔两个对象

问题描述 投票:0回答:1

无法显示两个对象

this._formsServices.fetching(this._route.snapshot.paramMap.get('id')).subscribe(post => {
          this.field = this._formsServices.form;
          let comma: any;
          this.field.forEach(option => {
            if (option.optionEn) {
              this.options = []; <-----
              comma = option.optionEn.split(',');
              for (const key in comma) {
                if (comma.hasOwnProperty(key)) {
                    this.options.push({ label: comma[key], value: option.fieldType });
                }
              }
            }
          })
        });

输出控制台是正确的,但在HTML5上没有显示,这始终集中在最后一个对象上

(2) [{…}, {…}]
0: {label: "name1", value: "1"}
1: {label: "name1", value: "1"}
length: 2
__proto__: Array(0)
forms.component.ts:91 
(2) [{…}, {…}]
0: {label: "name2", value: "6"}
1: {label: "name2", value: "6"}
arrays angular typescript ngfor
1个回答
0
投票

这是因为您要在每个循环中擦除this.options中的数据。在第一个循环中,您将这两个值0: {label: "name1", value: "1"} 1: {label: "name1", value: "1"}推入了数组,在第二个循环中,您正在创建一个新的数组this.options = [];。删除此行,应该可以。

© www.soinside.com 2019 - 2024. All rights reserved.