javascript - [innerHTML] 内的 Angular 嵌套属性绑定
问题描述
我正在向页面动态添加内容,让我们考虑以下示例:
const dataArray = [
{id: 1, innerHtml: `Some plain Txt`},
{id: 2, innerHtml: `Some plain Txt`},
{id: 3, innerHtml: `Some plain Txt`},
]
在组件模板内部:
<div *ngFor="let e of dataArray">
<p [innerHTML]="e.innerHtml"></p>
</div>
一切正常,直到我需要一些嵌套的属性绑定,如下所示:
...
{id: 2, innerHtml = `Some plain Txt with anchor: <a [href]="'most/plain/url/link'" >Link</a>`},
...
我通过安全旁路管道传递值:
@Pipe({name: 'safeHtml'})
export class Safe implements PipeTransform {
constructor(private sanitizer: DomSanitizer){}
transform(style) {
return this.sanitizer.bypassSecurityTrustHtml(style);
}
}
但总是导致:标签的空href
属性,a
当不使用安全旁路管道或它的非插值,复制粘贴版本(例如<a [href]="'non/interpolated'"></a>
)
解决方案
<a>
tag 是原生元素,所以不要将值作为属性绑定传递。而不是[href]="'most/plain/url/link'"
仅仅做href='most/plain/url/link'
.
innerHtml: `Some plain Txt with anchor: <a href='most/plain/url/link' >Link</a>`
推荐阅读
- python-3.x - Python 错误:RuntimeError:无法访问 /dev/mem。尝试以 root 身份运行!(尝试了所有建议)
- user-defined-functions - Google Data Studio - 用户定义函数 (UDF) 的使用
- java - 为什么我的倒数计时器没有切换到我的其他活动?
- python - 使用 PyNN 发送尖峰时出错 - SpiNNaker
- react-native - 找不到名称为“focus”的命令
- c# - 将属性绑定到 Xamarin 中的 ListView,不会更新视图
- python - 在 python 中使用套接字的 send() 函数的问题
- javascript - 在 Web 服务器上的直接图像/pdf 视图上触发 Google Analytics?
- arrays - 使用谷歌表格查询处理空白和处理枢轴中的总和
- python - 在 Python 中打印直角三角形的问题