Angular2设置视图封装全局

vad*_*lim 14 angular

我已经决定将ViewEncapsulationNone为我在我的项目的所有组件.

那么,我如何设置ViewEncapsulation.None全局到整个项目?而不是在我的每个组件装饰器中设置它.

注意:仅供参考,我的deps在RC.6上

编辑:GünterZöchbauer提供的第二个解决方案也适用于2.1.2

Gün*_*uer 29

您可以通过传递自定义来设置默认视图封装CompilerConfig.RC.2中添加了此功能(功能列表中的最后一项)

1.您可以在NgModule级别设置它

这种方式不再起作用了

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

Plunker的例子

2.将其设置为bootstrap级别(感谢yurzui)

platformBrowserDynamic().bootstrapModule(AppModule, [
    {
        defaultEncapsulation: ViewEncapsulation.None
    }
]);
Run Code Online (Sandbox Code Playgroud)

请注意,您OFC需要导入ViewEncapsulation@angular/core

  • @Gaunter.谢谢你的信息.+1. (3认同)
  • `platformBrowserDynamic().bootstrapModule(AppModule, { defaultEncapsulation: ViewEncapsulation.None });` (3认同)
  • 仅使用JIT,这对于AOT编译将不起作用。现在,我必须在生产环境中使用`--aot = false`。 (2认同)
  • 所有解决方案似乎都不再有效,知道如何在 Angular 10 中全局设置它吗? (2认同)