防止CSS样式在角度应用程序之外应用

时间:2019-12-16 13:54:50

标签: angular kendo-ui

我有一个同时运行angularjs和angular的SPA。我正在使用Kendo库用于angularjs和angular。如果我设置了封装,则在我的角度组件中:ViewEncapsulation.None,它会影响angularjs的kendo CSS。任何防止这种情况的方法,仅将CSS应用于角度分量

1 个答案:

答案 0 :(得分:4)

呈现组件时,组件上的“封装:ViewEncapsulation.None” 将追加到<head>上。因此,您可以利用生命周期方法ngOnInit和ngOnDestroy来有条件地在组件中添加或删除CSS。

示例代码段

const createElem = document.createElement('style');
createElem.textContent = "angularcss.css";

ngOnInit() {
   document.head.appendChild(createElem);
}
ngOnDestroy(){
   document.head.removeChild (createElem);
}