如何在Firefox中使用ViewEncapsulation.Native解决加载角度分量的问题

时间:2018-11-01 21:01:54

标签: javascript angular shadow-dom

我在ViewEncapsulation.Nativefirefoxedge中使用ipad chrome加载角度分量时遇到问题,在safari on macchrome on windows上没有问题, chrome on android

  

错误:hostEl.createShadowRoot不是函数

这是重现问题https://stackblitz.com/edit/angular-webcomponent-polyfill

的方法

基于stackoverflow和github中的其他问题和答案,我已经将webcomponentsjs包含到项目中,并将JavaScript包含在polyfill.ts

npm install @webcomponents/webcomponentsjs

并按如下所示添加它

polyfill.ts

import '@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce';

仍然出现相同的错误

1 个答案:

答案 0 :(得分:0)

感谢@manklu,他here回答如下,它非常完美

  

ViewEncapsulation.Native是Shadow DOM v0,您必须在Firefox中将其激活(标准不建议使用)。您的polyfill实现了Shadow DOM v1,而不是正确的。

     

如果您使用ViewEncapsulation.ShadowDom,它将在不使用polyfill的Firefox中运行。