首页 > 解决方案 > 在 Angular 8 中设置 innerHTML 会导致 ReferenceError: mXSSAttempts is not defined

问题描述

在我的 Angular 8 模板中,我使用<div [innerHTML]="note.text">.

它在我的开发环境中运行良好(通过 ng serve)但在部署后(ng build 然后将 dist 文件夹复制到我的网络服务器)我收到以下错误。

ERROR ReferenceError: mXSSAttempts is not defined
    at main-es2015.c606d978bcc9a311ab51.js:1
    at Ac.sanitize (main-es2015.c606d978bcc9a311ab51.js:1)
    at main-es2015.c606d978bcc9a311ab51.js:1
    at rs (main-es2015.c606d978bcc9a311ab51.js:1)
    at main-es2015.c606d978bcc9a311ab51.js:1
    at main-es2015.c606d978bcc9a311ab51.js:1
    at Is (main-es2015.c606d978bcc9a311ab51.js:1)
    at Qs (main-es2015.c606d978bcc9a311ab51.js:1)
    at Object.updateRenderer (main-es2015.c606d978bcc9a311ab51.js:1)
    at Object.updateRenderer (main-es2015.c606d978bcc9a311ab51.js:1) 

我正在使用以下版本的 Angular CLI ...

Angular CLI: 8.2.2
Node: 10.16.3
OS: win32 x64
Angular: 8.2.2
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.802.2
@angular-devkit/build-angular     0.802.2
@angular-devkit/build-optimizer   0.802.2
@angular-devkit/build-webpack     0.802.2
@angular-devkit/core              8.2.2
@angular-devkit/schematics        8.2.2
@ngtools/webpack                  8.2.2
@schematics/angular               8.2.2
@schematics/update                0.802.2
rxjs                              6.4.0
typescript                        3.5.3
webpack                           4.38.0

它在我正在使用的构建服务器上也失败了......

Angular CLI: 8.2.2
Node: 10.16.3
OS: linux x64
Angular: 8.2.8
... animations, common, compiler, core, forms, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.802.2
@angular-devkit/build-angular     0.802.2
@angular-devkit/build-optimizer   0.802.2
@angular-devkit/build-webpack     0.802.2
@angular-devkit/core              8.2.2
@angular-devkit/schematics        8.2.2
@angular/cli                      8.2.2
@angular/compiler-cli             8.2.2
@angular/language-service         8.2.2
@ngtools/webpack                  8.2.2
@schematics/angular               8.2.2
@schematics/update                0.802.2
rxjs                              6.4.0
typescript                        3.5.3
webpack                           4.38.0

标签: angular

解决方案


您可以通过使用安全导航运算符来避免此错误,这对于防止属性路径中的空值和未定义值非常有用

<div [innerHTML]="note?.text">

推荐阅读