我刚刚将我正在处理的应用程序从 angular 11 更新到 12。(也将 typscript 从 4.0.5 更新到 4.3.5)。我们注意到应用程序中的一个不同之处,在我有一个空值之前,我现在在我的应用程序中得到了文本“null”。
我已经缩小了问题发生的范围,归结为:(我为演示目的硬编码了空值)
<div>
<span [innerHTML]="null | sanitizeHtml"></span>
</div>
管道代码:
@Pipe({
name: 'sanitizeHtml'
})
export class SanitizeHtmlPipe implements PipeTransform {
constructor(private _sanitizer:DomSanitizer) {
}
transform(v:string):SafeHtml {
return this._sanitizer.bypassSecurityTrustHtml(v);
}
}
所以返回的safeHtml对象bypassSecurityTrustHtml
好像变了,或者处理空值的方法变了。谁能解释这种行为?
编辑
用于重现问题的堆栈闪电战: https ://stackblitz.com/edit/angular-v12-ejwhmd?file=package.json
编辑 2
为 Angular https://github.com/angular/angular/issues/43794创建了一个错误