В приведенных примерах директив атрибутов (т. Е. Директивы для добавления внешнего вида/поведения) мы имеем довольно простую настройку стиля для элемента-хозяина.Angular2 Стили в директиве
import {Directive, ElementRef } from 'angular2/core';
@Directive({
selector: '[myHighlight]'
})
export class HighlightDirective {
constructor(element) {
element.nativeElement.style.backgroundColor = 'yellow';
}
static get parameters(){
return [[ElementRef]];
}
Вместо того, чтобы устанавливать стиль, могу ли я использовать стили вместо этого? например
@Directive({
selector: '[myHighlight]',
styles: [':host { background-color: yellow; }']
})
Это не работает для меня?
Я делаю что-то немного более сложное, что привело к большому количеству монолитного кода, установив множество стилей, используя AnimationBuilder и т. Д. И т. Д., Мне кажется, что было бы намного лучше разделить это на классы и анимации в CSS.
ViewEncapsulation = emulated/default, если это важно?
Хотя это был год, ради потомства, я добавил ответ ниже. Он включает как использование компонента в качестве директивы, так и изменение стандартного ViewEncapsulation. См. Мой ответ ниже. - Приветствия –