Blazor WebAssembly - аналог TrackBy - PullRequest
       18

Blazor WebAssembly - аналог TrackBy

0 голосов
/ 21 февраля 2020

Я работаю над сравнением производительности между Angular и Blazor для моей диссертации. Я хочу сделать это на основе этого открытого исходного кода: https://github.com/krausest/js-framework-benchmark. Для этого мне нужно написать собственную реализацию тестового приложения в Blazor. Я сделал это, но у меня есть одна проблема. Angular имеет ключевое слово trackBy (пример ниже), которое позволяет изменять только одну строку коллекции в DOM при изменении модели. Без этого ключевого слова каждое изменение модели требует перестройки всей таблицы (https://angular.io/api/common/NgForOf#ngForTrackBy). Есть ли эквивалент в Blazor?

        <tr [class.danger]="item.id === selected" *ngFor="let item of data; trackBy: itemById">
            <td class="col-md-1">{{item.id}}</td>
            <td class="col-md-4">
                <a href="#" (click)="select(item, $event)">{{item.label}}</a>
            </td>
            <td class="col-md-1"><a href="#" (click)="delete(item, $event)"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a></td>
            <td class="col-md-6"></td>
        </tr>
...