首页 文章

在嵌套的* ngFor循环中访问索引

提问于
浏览
0

这对我的项目来说是一个非常特殊的问题,所以如果它是愚蠢的话,请饶我 .

我正在Angular中构建一个动态表,其中每一行都是一个单词,列是语言,每个单元格都是该语言的相应翻译 .

所以问题是我必须跟踪用户点击了哪个表格单元格,以便我可以创建或更新该单元格的值 .

代码是这样的:

<tbody>

    <tr *ngFor="let data of data">

    <td contenteditable='true' (keyup.enter)="saveEntry($event)"  
    width="300px" height="40px" >{{data.key}}</td>

    <td *ngFor="let column of tableColumns;let j = index" 
      contenteditable='true'            
     (keyup.enter)="onRowClick($event, column.languageID,             
       data?.value[0]?.dictionaryEntryID)"                         

     (click)="TranslationClick($event,data.value[k].dictionaryID)">


   <ng-container *ngFor="let dataValue of data.value ;let k = index">

   <span *ngIf="column.languageID==dataValue.languageID">

   {{dataValue.translation}}</span>
    </span>
    <span *ngIf="column.languageID!=dataValue.languageID">
    </span>
     </ng-container>
     </td>
     </tr>
    </tbody>

需要帮助:我需要在我的 TranslationClick 方法中获取ng-container中* ngFor的索引k,如下所示:

(click)="TranslationClick($event,data.value[k].dictionaryID)

我知道 ng-container * ngFor循环是在第一个之后创建的,但有没有办法可以获得该单元格的索引k .

或者还有其他更好的方法来跟踪表格的各个单元格吗?

1 回答

  • 0

    无法访问模板定义之外的模板变量 .

    k 只能在其中访问

    <ng-container *ngFor="let dataValue of data.value ;let k = index">
    
       <span *ngIf="column.languageID==dataValue.languageID">
    
       {{dataValue.translation}}</span>
        </span>
        <span *ngIf="column.languageID!=dataValue.languageID">
        </span>
       </ng-container>
    

相关问题