Настройка Angular2 инкапсуляция вида глобально

Я решил установить ViewEncapsulation в None для всех моих компонентов в моем проекте.

Итак, как я могу установить ViewEncapsulation.None глобально для всего проекта? вместо того, чтобы устанавливать его в каждом из моих компонентов декоратора.

Примечание: просто для дополнительной информации, мои deps на RC.6

Изменить: 2-е решение, предоставленное Гюнтер Цохбауэр также работает на 2.1.2

1 ответ

Решение

Вы можете установить инкапсуляцию вида по умолчанию, передавая пользовательский CompilerConfig, Эта функция была добавлена ​​в RC.2 (последний элемент в списке возможностей)

1. Вы можете установить его на уровне NgModule

этот способ больше не работает

@NgModule({
    // imports, declaration, bootstrap, etc..
    providers: [{
        provide: CompilerConfig, 
        useValue: new CompilerConfig({
            defaultEncapsulation: ViewEncapsulation.None
        })
    }]
})
export class AppModule {}

Пример плунжера

2. Установите его на уровень начальной загрузки (благодаря yurzui)

platformBrowserDynamic().bootstrapModule(AppModule, [
    {
        defaultEncapsulation: ViewEncapsulation.None
    }
]);

Обратите внимание, что вам необходимо импортировать ViewEncapsulation от @angular/core

Другие вопросы по тегам