寻找有关如何使用 Angular Elements 的指南,这些元素可以在其他浏览器中使用,尤其是 Internet Explorer 11。
到目前为止,遵循使用 ngDoBootstrap 定义自定义元素(Angular Element)的推荐约定。它仅适用于 Chrome,但对于 IE,元素标签在 DOM 中可见,但浏览器上没有显示任何内容。架构如下:组件、服务、管道……都被分成模块。
然后使用 customElements.define() 定义父组件。一旦将其应用到 DOM 中,诸如单击事件更改检测之类的操作在 chrome(当前版本:72.0.3626.121)中运行良好,但在 IE 中没有任何显示。我花了几个小时研究让它在 IE 中工作的不同方法。我查看了此处提供的一些问题和答案,尤其是使用 polyfills 但没有成功。
然后,我尝试按父 > 子的顺序一次定义一个组件,但又遇到了不同的问题,IE 开始抛出脚本错误,特别是与 zone.js 和 vendor.js(但不是在 chrome 中)有关。这样做时,我能够看到元素,但操作和更改检测不起作用。
我在这里尝试了这种方法,但后来开始遇到依赖注入错误。到目前为止,一个问题导致另一个问题。
选择使用 AngularElements 的原因是尝试将其与使用不同技术堆栈编写的现有项目集成。