2016-10-01 3 views
0

В Угловое 2 У меня есть эта component.html:Угловой 2 * ngIf для 'это'

<li *ngFor="let something of somethings"> 
    <span>{{something}}</span> 
    <input class="doit" type="text" *ngIf="iscalled" /> 
<div id="container"> 
    <button class="btn btn-warning editsection (click)="editAction()">Edit</button> 
</div> 
</li> 

с этим component.ts:

editAction(){ this.iscalled = true; } 

, по умолчанию , установите значение false в моем компоненте.

В принципе, для каждого something из somethings Производим вместе с моим списком назначенное ему поле ввода и кнопку, которая запускается editAction(). Кнопка находится только там, где пользователь нажимает кнопку editAction().

Теперь, как есть, нажатие на кнопку editAction() позволит включить все поля ввода в моем списке. Я хотел бы ограничить это точным элементом li, для которого он предназначен.

Я не знаю, имеет ли значение Угловое 2 определенное действие для этого, или это простое решение для JavaScript.

+1

Рассматривали ли вы использование индекса, который предоставляет для просмотра? – jonrsharpe

ответ

1

ПРИМЕЧАНИЕ: с этой установкой не установлено значение по умолчанию из iscalled к ложной

<li *ngFor="let something of somethings"> 
    <span>{{something}}</span> 
    <input class="doit" type="text" 
      *ngIf="something.iscalled" />  //<<<===changed 

    <div id="container"> 
      <button class="btn btn-warning 
      editsection 
      (click)="editAction(something)">  //<<<===changed 
       Edit 
      </button> 
    </div> 
</li> 

editAction(something){ something.iscalled = true; } 

если вы хотите тумблер его, то вы можно сделать следующий,

editAction(something){ something.iscalled != something.iscalled; } 
+0

спасибо за это! однако опция переключения не работает. и я понимаю, что у вас есть опечатка, так что это не то, что я копирую ее. логика заканчивается тем, что ничего не делает. – abrahamlinkedin

+1

он должен работать. Я почти уверен в этом. Если вы используете какую-либо модель для объекта 'something', а не добавляете свойство iscalled к этой модели. Он будет работать, как ожидалось. – micronyks

+1

Я вижу. если он не работает, вы можете изменить 'something.iscalled! = something.iscalled' на' something.iscalled =! something.iscalled' – micronyks

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