2017-02-21 2 views
1

У меня есть поле ввода, где я укажу число, подобное 3 или 4 и ниже. У меня есть родительский div. В соответствии с номером, указанным в поле ввода, я хочу иметь столько div внутри родителя.Angular2 динамически добавляя divs

 <div class="mdl-step__content"> 
      <!-- specify number --> 
      <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label"> 
       <input class="mdl-textfield__input" type="text" pattern="-?[0-9]*(\.[0-9]+)?" id="text5"> 
       <label class="mdl-textfield__label" for="text5">Number of important collegues</label> 
       <span class="mdl-textfield__error">Number required!</span> 
      </div> 
      <!-- circular divs --> 
      <div class="parent"> 
       <div class="circle"></div> 
       <div class="circle"></div> 
       <div class="circle"></div> 
       <div class="circle"></div> 
      </div> 
     </div> 

Как я могу это достичь?

UPDATE: enter image description here

ответ

3

Вы можете использовать ngFor для этой цели:

<input ngModel (ngModelChange)="updateNumber($event)" class="mdl-textfield__input" type="text" pattern="-?[0-9]*(\.[0-9]+)?" id="text5"> 

<div class="parent"> 
    <div class="circle" *ngFor="let item of items"></div> 
updateNumber(val:number) { 
    this.items = new Array(+val); 
} 
+0

он должен быть: 'новый массив (значение)'? также мне пришлось удалить набор из функции. Тем не менее, это не позволяет мне добавить '* ngFor =" let item в items "' на этом div. В нем говорится: привязка свойств ngForIn не используется какой-либо директивой для встроенного шаблона. – Nitish

+0

Ничего себе, извините! Кажется, один из моих более неряшливых ответов. Это должно быть 'of' вместо' in'. –

+0

Теперь он не дает никаких ошибок, но независимо от числа, которое я вводил, он дает мне только один div. Добавление изображения на мой вопрос! – Nitish

Смежные вопросы