javascript - 为什么打字稿超级关键字会生成无限循环?为什么 super.method == this.method?
问题描述
我正在尝试ngOnInit
从基类调用。
ngOnInit() {
super.ngOnInit();
}
如果我使用的是 Chrome 浏览器,一切都运行良好,但如果我使用 angular 应用程序,就像Microsoft WordOffice Add-in
一样,我有无限循环。
在下面,使用或浏览器Office Add-in
呈现Angular应用程序。IE
Edge
我认为浏览器与 混淆super
,this
因此我们有递归,这就是无限循环的原因。
一种解决方案可能是将基本 ngOnInit
块代码放在另一个函数“myFunc”中,并且可以从派生类中使用
ngOnInit() {
super.myFunc();
}
我很好奇是否有另一种解决方案。
解决方案
您可以尝试检查:
if(super.ngOnInit!==this.ngOnInit)
super.ngOnInit();
至少这样,如果它开始引用自己,那么你可以避免无限循环。让我们知道怎么回事。
推荐阅读
- c - How can I access macOS API calls from C on Mac?
- amazon-web-services - 在现有表上创建 DynamoDB GSI 是否会索引旧记录?
- javascript - 使用 AJAX 和 Laravel 进行计数
- sql - 将度量传递给 Power BI 中的 SQL 查询
- php - 在 laravel 5.5 中数据未保存到数据库中
- google-sheets - 如果 Google 表格中的查询为真,您如何返回文本?
- bash - 如何获取和保存后台命令的 bash “jobspec”?
- regex - 在文本文件 vb.net 中使用正则表达式
- java - Java,对象化文件中的唯一字符并通过字符对象的增量()方法计算出现次数
- python-3.x - 如何使用 psycopg2.extras.execute_values 在冲突中进行更新插入