我能够重新创建您所看到的问题,并且似乎仅在使用createCustomElement()
“@angular/elements”时抛出错误时才会发生。
在repo<dashboard-tile>
中,您正在加载index.html文件。这是在外部加载元素<app-root>
,因此抑制throw new Errors("error")
.
我相信ngOnInit()
is not function 属性,因为 DOM<dashboard-tile>
在 Angular 注册之前加载元素。
如果您<dashboard-tile a="100" b="50" c="25"></dashboard-tile>
在app.component.html中加载元素,您应该会看到错误。
请参阅 PR 和回购:链接
如果需要在index.html中调用它会推荐如下:
- 尝试使用
console.error("error")
实现ErrorHandler (@angular/core)
- [API 参考][0]
- Aleix Suau 的有用文章
更新了dashboard-tile.component.ts:
import {Component, Input, OnInit, ErrorHandler} from '@angular/core';
@Component({
selector: 'app-dashboard-tile',
templateUrl: './dashboard-tile.component.html',
styleUrls: ['./dashboard-tile.component.scss']
})
export class DashboardTileComponent implements OnInit, ErrorHandler {
@Input() a: number;
@Input() b: number;
@Input() c: number;
constructor() { }
ngOnInit() {
debugger;
this.handleError(new Error('This is Angular Element Error'));
}
handleError(err: any): void {
console.error(err);
}
}