Я попытался использовать пример вложенного дерева из https://material.angular.io/components/tree/overview, и обнаружил интересное поведение, которое я не совсем понимаю.Согласно моим поискам, [ngClass] и [class.XXX] эквивалентны, однако, когда я заменяю
<ul [class.example-tree-invisible]="!nestedTreeControl.isExpanded(node)">
<ng-container matTreeNodeOutlet></ng-container>
</ul>
на
<ul [ngClass]="{'example-tree-invisible':!nestedTreeControl.isExpanded(node)}">
<ng-container matTreeNodeOutlet></ng-container>
</ul>
, он больше не работает, как мы ожидали.Класс добавляется и удаляется, когда я раскрываюсь или сворачиваюсь, однако внутреннее дерево не появляется.
Может кто-нибудь объяснить разницу между двумя подходами, почему первый подходит, а другой нет?
Спасибо!