Есть компонент, которому передается список элементов. Тип и структура элементов неизвестна компоненту. Эти элементы необходимо группировать и сортировать по правилам, известным только родительскому компоненту.
Очевидный способ: в родительском компоненте объявить метод, который будет принимать один из элементов и возвращать, например, строку на основании которой дочерний компонент будет сортировать элементы.
Как хотелось бы: передать компоненту выполняемое typescript выражение с работой над "контекстом". Почти как стрелочная функция, только стрелочные функции не работают в шаблонах angular.
Пример:
<!-- parent component html -->
<my-component [expression]="$context.foo.bar" [items]="Items"></my-component>
// my-component code
@Input() expression: Function;
@Input() items: any[];
...
const results = this.items.map(item => this.expression(item)); // $context = item