2016-09-12 19 views
8

Postanowiłem ustawić ViewEncapsulation na None dla wszystkich moich komponentów w moim projekcie.Ustawienia globalne Angular2 enkapsulacji

Jak zatem ustawić globalnie ViewEncapsulation.None dla całego projektu? zamiast ustawiać go w każdym z moich dekoratorów komponentów.

Uwaga: Tylko dla dodatkowej informacji, Kim deps są na RC.6

Edit: The 2nd Rozwiązanie dostarczone przez Güntera Zöchbauer działa również na 2.1.2

Odpowiedz

18

Można ustawić domyślny widok enkapsulacja przez przekazanie niestandardowego CompilerConfig. Ta funkcja została dodana w RC.2 (ostatnia pozycja na liście funkcji)

1. Można ustawić go na NgModule poziomie

ten sposób już nie działa

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

Plunker example

2. ustawić go na poziomie bootstrap (Dzięki yurzui)

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

Należy pamiętać, że ofc trzeba importować ViewEncapsulation z @angular/core

+3

@Gaunter. Dzięki za informację. +1. – micronyks

+0

Dziękujemy za informacje. Próbowałem twojej odpowiedzi i nadal nie mogłem jej uruchomić. Sprawdź moje zaktualizowane pytanie. Czy czegoś brakuje? – choz

+0

Działa dobrze w https://plnkr.co/edit/XB5vsY9t5cArDSlzGj4w?p=preview –