Html货币符号按十六进制代码

11 浏览
0 Comments

Html货币符号按十六进制代码

我正在使用Angular 2.0.0-beta.0,想直接创建和绑定一些简单的HTML。这种方式可行吗?如何实现?

我尝试使用如下代码:{{myField}},但是myField中的文本会被转义。

对于Angular 1.x,我找到了ng-bind-html的解决办法,但是在2.x中似乎不被支持。

谢谢

Frank

0
0 Comments

Html currency symbols by hex code问题出现的原因是为了在HTML中显示特定的货币符号,需要使用其对应的十六进制代码。解决方法是通过绑定innerHTML属性来实现。

具体解决方法如下:

1. 使用[innerHTML]绑定属性,将HTML代码赋值给myField变量,例如:

2. 为了确保Angular的DOM sanitizer不会删除部分HTML代码,需要将传递的HTML标记为受信任的,可以通过管道来实现,例如:

3. 创建一个名为Safe的类,并使用DomSanitizer来标记HTML代码为受信任的,代码如下:

export class Safe {
  constructor(private sanitizer: DomSanitizer) {}
  transform(value: any, args?: any): any {
    return this.sanitizer.bypassSecurityTrustHtml(value);
  }
}

4. 使用管道在HTML模板中调用Safe类,例如:{{myField | safeHtml}}。

此外,还可以参考stackoverflow上的相关问题,如:https://stackoverflow.com/questions/37076867/37076868#37076868。

另外,还有一些问题讨论了如何在动态生成的HTML代码中添加事件处理程序。在使用[innerHTML]绑定属性时,无法直接添加Angular特定的内容。解决方法是在运行时创建和编译组件,或者使用纯JS来添加事件处理程序。

总结起来,通过绑定innerHTML属性可以在HTML中显示特定的货币符号。为了确保HTML代码的安全性,需要使用DomSanitizer来标记HTML代码为受信任的。如果需要在动态生成的HTML代码中添加事件处理程序,则需要通过创建和编译组件或使用纯JS来实现。

0