【问题标题】:Upgrading to Angular 7 Ecma6 not working why?为什么升级到 Angular 7 Ecma6 不起作用?
【发布时间】:2026-01-29 17:10:01
【问题描述】:

我刚刚将我的应用程序从 angular 6 更新到了 angular 7,但其中某种在 angular 6 中工作而不在 angular 7 中工作,它使浏览器处于无限加载状态。

例如:

@Component({
   selector: 'app-page',
   template: `<div *ngFor="let key of objectKeys(items)">{{key + ' : ' + 
   items[key]}}</div>`
})

export class MyComponent {
   objectKeys = Object.keys;
   items = { keyOne: 'value 1', keyTwo: 'value 2', keyThree: 'value 3' };
   constructor(){}
}

上面的代码在 Angular 6 中工作,但在 Angular 7 中没有,为什么会这样? 对不起我的英语,希望有人能帮助我或让我明白发生了什么问题?

【问题讨论】:

  • 可以添加错误信息吗?
  • @user1664823 不是显示浏览器选项卡冻结的错误消息
  • 我不确定您的浏览器为什么会死机,但在您的示例中,您可以使用 keyvalue pipe&lt;div *ngFor="let item of items | keyvalue"&gt;{{item.key}} : {{item.value}}&lt;/div&gt;
  • @fridoo 谢谢,但我的问题是为什么在 Angular 6 中工作的 Ecma6 脚本现在不能在 Angular 7 中工作?
  • 我没有看到这个问题。我已经包含了一个 stackblitz (stackblitz.com/edit/…)。请参阅下面关于在 typescript 中定位 ES6 的答案。

标签: angular angular7 ecmascript-2017


【解决方案1】:

您可以尝试将 tsconfig.json 文件设置为针对 ES6 吗?

// tsconfig.json
{
  "compilerOptions": {
    /* Basic Options */
    "target": "es6"   
}
}

【讨论】:

  • 是的,我的 tsconfig.json 的目标值设置正确,可能我必须再次查看我的配置,迁移时发生了什么错误。
最近更新 更多