Array.push создает 2 строки в таблице с помощью Angular 4

У меня есть 2 массива, которые одинаковы, за исключением 2 элементов, которые являются 2 fakeDates:

 this.prodotti.push({ idAgreement: this.idAgreement,landingStatus: this.landingStatus, landingType: this.landingType, startDate: this.startDate, expirationDate: this.expirationDate, landingURL: this.landingURL, landingRequestURL: this.landingRequestURL, landingTaegMax: this.landingTaegMax, landingPF: this.landingPF });

 this.prodotti2.push({ idAgreement: this.idAgreement,fakeExpirationDate:this.fakeExpirationDate,fakeStartDate:this.fakeStartDate, landingStatus: this.landingStatus, landingType: this.landingType, startDate: this.startDate, expirationDate: this.expirationDate, landingURL: this.landingURL, landingRequestURL: this.landingRequestURL, landingTaegMax: this.landingTaegMax, landingPF: this.landingPF });

Когда я пытаюсь вставить их в свою таблицу html, добавляются 2 строки вместо 1, даже если в моем коде привязанный массив - prodotti2

HTML:

<tr *ngFor = "let row of prodotti2; let i = index">
            <td>
              <div class = "celleProd">
                <input class = "mdl-textfield__input" type = "text" style = "text-align: center" value = "{{row.landingType}}" id = "sample3" pattern = "[A-Za-z0-9]+"
                  readonly = "true">
              </div>
            </td>

Итак, почему он создает 2 строки каждый раз, когда я нажимаю 2 массива?

Как вы вызываете код .push? Этот метод вызывается дважды?

Vlad274 01.10.2018 16:45

Возможно ли, что prodotti и prodotti2 являются тот же массив?

Ian MacDonald 01.10.2018 16:46

его вызывают только один раз нажатием кнопки, а @IanMacDonald нет, два массива разные. Странно то, что я делаю то же самое в другом компоненте, и он отлично работает ... я так запутался :)

Francesco Giberti 01.10.2018 16:47

Как вы создаете экземпляры двух массивов? Когда он создает две строки, являются ли они двумя идентичными строками или одна строка является строкой, вставленной в первый массив, а вторая строка - строкой, вставленной во второй массив?

Ian MacDonald 01.10.2018 16:50

одна строка от prodotti и одна строка от prodotti2

Francesco Giberti 01.10.2018 16:50

Пожалуйста, покажите нам, как объявляются и инициализируются prodotti и prodotti2.

ConnorsFan 01.10.2018 16:56
Структурированный массив Numpy
Структурированный массив Numpy
Однако в реальных проектах я чаще всего имею дело со списками, состоящими из нескольких типов данных. Как мы можем использовать массивы numpy, чтобы...
T - 1Bits: Генерация последовательного массива
T - 1Bits: Генерация последовательного массива
По мере того, как мы пишем все больше кода, мы привыкаем к определенным способам действий. То тут, то там мы находим код, который заставляет нас...
Что такое деструктуризация массива в JavaScript?
Что такое деструктуризация массива в JavaScript?
Деструктуризация позволяет распаковывать значения из массивов и добавлять их в отдельные переменные.
0
6
231
1

Ответы 1

Вы можете использовать console.info (prodotti2), чтобы увидеть, есть ли в нем только один элемент, а когда вы используете * ngFor, не используйте id = sample3, лучше, если вы используете что-то вроде id = sample {{i} } ... извините, но у меня нет репутации, чтобы комментировать ...

Другие вопросы по теме