为什么角度元素会吞咽错误?

时间:2019-03-10 20:42:42

标签: angular angular-elements

我在一个角度项目中拥有最简单的角度元素。我在属于角度元素的组件中抛出错误,如下所示:

dashboard-tile.component.ts用户在index.html中作为<dashboard-tile a="100" b="50" c="25"></dashboard-tile>

ngOnInit() {
    throw "this is an error";
  }

但是我看不到Chrome控制台出现错误。 有人可以请教吗?

链接到video。 链接到包含代码的github repo

编辑:

测试:

  1. 我已经在chrome和firefox中对其进行了测试。两者均可重现。
  2. 如果我将上述组件视为普通组件(<app-dashboard-tile><app-dashboard-tile/>中有app.component.ts),则控制台中会显示异常

注释:

  1. 此问题与角度元素有关,而不与规则的角度投影有关。这很容易忽略。

  2. 如果您可以克隆项目并在本地运行,那就太好了。不会超过2分钟。

1 个答案:

答案 0 :(得分:0)

在我的情况下,Angular吞没了异常,因为我在AppModule的构造函数中从'@ angular / elements'调用createCustomElement()。就我而言,将其移至ngDoBootstrap()方法中即可完成工作。

所以工作的AppModule看起来像:

export class AppModule implements DoBootstrap {
  constructor(private injector: Injector) {}

  ngDoBootstrap(): void {
    const webComponent = createCustomElement(OrderFormComponent, { injector: this.injector })
    customElements.define('my-web-component', webComponent)
  }
}