2016-09-20 2 views
0

У меня есть этот шаблон (часть):Показать только щелкнул вид

 <tbody *ngFor='let list of lists'> 
       <tr> 
        <td>{{ list.name }}</td> 
        <td>{{ list.location }}</td> 
        <td>{{ list.type_id }}</td> 
        <td>{{ list.gos_prinad_id }}</td> 
        <td>{{ list.disloc_country_id }}</td> 
        <td>{{ list.adm_terr_id }}</td> 
        <td><a (click)="toggleElement()">смотр.</a></td> 
        <td>{{ list.lat }}</td> 
        <td>{{ list.lon }}</td> 
        <td>{{ list.alt }}</td> 
       </tr> 
       <tr [hidden]="hideElement" *ngFor="let new_var of list.hops"> 
        <td>{{ new_var.hop_type }}</td> 
        <td>{{ new_var.id_sl_hop }}</td> 
        <td>{{ new_var.hop_text }}</td> 
       </tr> 
     </tbody> 

И это toogleElement() для шкуры и показать некоторые данные:

toggleElement(){ 
     if(this.hideElement) { 
      this.hideElement = false; 
     }else{ 
      this.hideElement = true; 
     } 

Теперь, когда я нажимаю смотр. после каждого line открыть новую форму

<tr [hidden]="hideElement" *ngFor="let new_var of list.hops"> 
        <td>{{ new_var.hop_type }}</td> 
        <td>{{ new_var.id_sl_hop }}</td> 
        <td>{{ new_var.hop_text }}</td> 
       </tr> 
     </tbody> 

Но я бы хотел, чтобы эта форма не повторялась после всех строк, d открываются только один за другим.

P.S. Извините за мой английский.

ответ

2
toggleElement(list){ 
    list.isVisible= !list.isVisible; 
} 
<tbody> 
    <template ngFor let-list [ngForOf]="lists"> 
     <tr> 
      <td>{{ list.name }}</td> 
      <td>{{ list.location }}</td> 
      <td>{{ list.type_id }}</td> 
      <td>{{ list.gos_prinad_id }}</td> 
      <td>{{ list.disloc_country_id }}</td> 
      <td>{{ list.adm_terr_id }}</td> 
      <td><a (click)="toggleElement(list)">смотр.</a></td> 
      <td>{{ list.lat }}</td> 
      <td>{{ list.lon }}</td> 
      <td>{{ list.alt }}</td> 
     </tr> 
     <tr [hidden]="!list.isVisible" *ngFor="let new_var of list.hops"> 
      <td>{{ new_var.hop_type }}</td> 
      <td>{{ new_var.id_sl_hop }}</td> 
      <td>{{ new_var.hop_text }}</td> 
     </tr> 
    </template> 
</tbody> 
+0

спасибо много. но теперь, после upadate страницы, мой скрытый блок показывает –

+0

Это потому, что переменная isHidden не была инициализирована, так что она началась как ложная, и контент был показан. Теперь я редактировал код для использования переменной isVisible. –

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