我在Angular 2模板中遇到了一个奇怪的赋值语法.
<template let-col let-car="rowData" pTemplate="body">
<span [style.color]="car[col.field]">{{car[col.field]}}</span>
</template>
Run Code Online (Sandbox Code Playgroud)
看来,let-col和let-car="rowData"创建两个新的变量col和car,然后可以绑定到模板中.
资料来源:https://www.primefaces.org/primeng/#/datatable/templating
这个神奇的let-*语法叫什么?
它是如何工作的?
let-something和之间有什么区别let-something="something else"?
可以使用let-col而不是在let-car="rowData"不更改最终DOM结构的情况下重写上述代码吗?
我是角度新手,现在正在使用一些遗留代码。在一个组件中有一个带有 let 循环的表。在网上查了一下,但不太理解。
<ng-template #itemTmpl let-data let-element="element">
<ng-container *ngIf="data === 'route'"> {{ currentRouteSubject.value.number }} </ng-container>
<ng-container *ngIf="data === 'name'">
<ng-container *ngIf="!editRouteScheduleMap.has(element.id)"> {{ element[data] }} </ng-container>
<ng-container *ngIf="editRouteScheduleMap.has(element.id)">
<input type="text" [(ngModel)]="editRouteScheduleMap.get(element.id).name" />
</ng-container>
</ng-container>
<ng-container *ngIf="data === 'requiredBusAmount'">
<ng-container *ngIf="!editRouteScheduleMap.has(element.id)"> {{ element[data] }} </ng-container>
<ng-container *ngIf="editRouteScheduleMap.has(element.id)">
<input type="text" [(ngModel)]="editRouteScheduleMap.get(element.id).requiredBusAmount" />
</ng-container>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
你能解释一下这个 let-data, let-element='element' 以及它如何与源文件连接
javascript node.js single-page-application typescript angular
在以下示例中,我#input为多个单选按钮指定了一个局部变量。单击时<tr>我想选择里面的单选按钮。
下面的代码工作正常,但我不明白为什么。
当所有输入都具有局部变量时,Angular2 如何“知道”我指的是哪个输入#input?
HTML
<tr *ngFor="let office of employee.offices" (click)="selectOffice(input)">
<td class="select-office-radio">
<input type="radio" name="office" #input />
</td>
<td>
{{office.officeName}}
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
JS
selectOffice(input) {
input.checked = true;
}
Run Code Online (Sandbox Code Playgroud)