На линейном графике есть событие выбора, где вы можете выбрать точки и элементы легенды. Линейный график имеет свойство ввода activeElements, которое принимает массив активных элементов.
Линейный график не будет реагировать на изменения вмассив activeElements, если вы не введете его в разметку, используя .slice () либо как локальную переменную, либо как объект состояния избыточности:
[activeEntries]="array.slice()"
[activeEntries]="(array | async).slice()"
Это работает, но затем событие (select) не вызывается при нажатии набольше очков.
Если вы, однако, удалите .slice () - вы сможете выбрать оба варианта - но диаграмма больше не будет реагировать на изменения activeEntries, несмотря ни на что.
Это включает в себя наличие в объекте activeEntries избыточного объекта состояния, в котором все состояние является новым объектом при каждом изменении - вызов везде changeDetection вообще не влияет на него.
Вот блик стека: https://stackblitz.com/edit/angular-ngx-charts-testing-stuff?file=src/ - stackblitz.
Я прокомментировал код и разметку везде, чтобы вы могли понять, что я пытаюсь сделать в коде.
Я хотел бы иметь возможностьщелкнуть по точкам + легенде при использовании .slice () или заставить диаграмму реагировать на изменения в массиве activeEntries.