Угловые формы, построить массив объектов

Всякий раз, когда iframe добавляется и применяется атрибут src, он запускает действие загрузки аналогично созданию тега изображения через JS. Поэтому, когда вы удаляете и добавляете их, они являются совершенно новыми объектами, и они обновляются. Его вид того, как window.location = window.location перезагрузит страницу.

Единственный способ, которым я знаю переставить iframes, - через CSS. Вот пример, который я собрал, показывая один способ справиться с этим с помощью flex-box: https://jsfiddle.net/3g73sz3k/15/

Основная идея - создать a flex-box, а затем определить определенный порядок для iframes, используя атрибут order на каждой оболочке iframe.


Как вы можете видеть в скрипте JS, эти стили order являются встроенными, чтобы упростить flip, поэтому поверните iframes.

Я получил решение из этого вопроса StackOverflow: Поменять место DIV с помощью CSS только

Надеюсь, что помогает.

0
задан Jeran 27 February 2019 в 21:16
поделиться

2 ответа

Здесь есть хорошее и краткое объяснение с примером: https://alligator.io/angular/reactive-forms-formarray-dynamic-fields/

0
ответ дан Yurii Zadorozhnyi 27 February 2019 в 21:16
поделиться

Попробуйте это:

<div formArrayName="businessNotes">
        <h3>business notes</h3> <button (click)="addBusinessNote()">Add business note</button>
      <div *ngFor="let note of businessNotes.controls; let i=index" >
          <label>
            note: {{i + 1}}
            <input type="text" [formControl]="note.get('text')">
          </label>
      </div>
    </div>
  </div>

Я думаю, что больше всего расстраивается из-за части [formControlName] = "text". Не уверен, какая форма группы под. Я думаю, что есть несколько способов обойти это, но я считаю, что привязка к formControl - самая прямолинейная работа.

Я думаю, что в вашем методе добавления также может быть ошибка. Я не думаю, что вам нужен array.controls здесь, вы можете напрямую перейти к массиву.

Удачи!

0
ответ дан bgraham 27 February 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: