Я не думаю, что между этими двумя способами есть какое-либо значимое различие в том, как вы его используете, но есть одно отличие на концептуальном уровне: использование 'class'
берет определение класса элемента, тогда как 'attr.class'
принимаетзначение атрибута с именем «класс».
Используя только 'class'
без атрибута, вы можете затем связать определенные классы с логическим значением, например так:
@HostBinding('class.blue')
@Input() blue: boolean;
Затем, предполагая, что HostBinding определен в директиве с именем my-directive
, вы можете использовать этот HTML:
<div my-directive [blue]="true"></my-directive>
И это приведет к div, который содержит class="blue"
Что касается того, который вы должны использовать в вашем случае, он недействительно важно.Я бы выбрал просто class
, потому что он короче, но это действительно не имеет значения в этом случае.