Я использую компонент Grid (ejs-grid
) из Syncfusion Angular UI Components (Essential JS 2).
Проблема в том, что я не могу получить доступ к исходному объекту из источника данных для текущей строки при использовании шаблона столбца. Вот почему после щелчка по черному квадрату в ячейке в Stackblitz вывод под сеткой :
То же самое: ложь
let-data
переменная не содержит исходный объект из источника данных, а скорее его копию.
Шаблон HTML:
<ejs-grid [dataSource]='data' rowHeight='38' height='200' width="300">
<e-columns>
<e-column field='name' headerText='Employee Name' width='200'>
<ng-template #template let-data>
<div>
<span>{{ data.name }}</span>
<span>{{ data.testFunc() }}</span>
<span
(click)="onClick(data)"
class="clickable">
</span>
</div>
</ng-template>
</e-column>
</e-columns>
</ejs-grid>
<div>Is the same: {{ isTheSame !== undefined ? isTheSame : 'undefined' }}</div>
Код компонента TypeScript:
export class Item {
public constructor(public readonly name: string) {
}
public testFunc(): string {
return "testFunc " + this.name;
}
}
@Component({
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.css'],
providers: [FilterService,VirtualScrollService]
})
export class AppComponent {
public data: ReadonlyArray<any> = [new Item("Name1")];
public isTheSame: boolean | undefined;
public onClick(dataItem: any): void {
this.isTheSame = dataItem === this.data[0];
}
}
Есть ли еще одна переменная, кроме
let-data
, к которой мы могли бы привязать шаблон столбца, чтобы получить исходные данные строки? Если нет, то какое решение?Может ли кто-нибудь указать мне на источник docs \ Gitub, содержащий список всех переменных, доступных для шаблона столбца? Я знаю по крайней мере еще одного, кроме
let-data
:let-clientData
.