在Angular中,可以使用内置的DomSanitizer服务来解决模板渲染时不编码URL的问题。下面是一个代码示例:
在组件文件中导入DomSanitizer:
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
在组件类中注入DomSanitizer服务:
constructor(private sanitizer: DomSanitizer) { }
在模板中使用safeUrl来绑定URL,并使用管道函数调用DomSanitizer服务:
Link
在组件类中定义getSafeUrl方法,并使用DomSanitizer服务的bypassSecurityTrustResourceUrl方法来获取安全的URL:
getSafeUrl(url: string): SafeResourceUrl {
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
这样,模板中的URL将被正确地编码并渲染。
请注意,使用DomSanitizer服务需要确保URL是安全的,以防止XSS攻击。在使用该服务之前,请确保你信任并验证URL的来源。