我想用MouseStats注释装饰一些敏感数据.目前我这样做:
<td><!-- StartMouseStatsHide -->{{ $ctrl.payerName }}<!-- EndMouseStatsHide --></td>
Run Code Online (Sandbox Code Playgroud)
但是在界面的许多地方都有很多敏感数据,所以我尝试使用过滤器来装饰值
<td>{{ $ctrl.payerName|mousestats_hide }}</td>
Run Code Online (Sandbox Code Playgroud)
过滤器只是用注释包围值.问题是以这种方式将评论转义给实体.
你有什么建议?是否可以使用过滤器?
是否可以使用过滤器来做到这一点?
是的,可以使用角度过滤器添加/附加变量。
问题是,通过这种方式,评论会被转义给实体。
这是因为您直接在范围内插入变量{{ $ctrl.payerName }}。它不会解析 HTML 标签并按原样显示结果字符串。
ng-bind-html如果您想在给定值周围添加 HTML 注释,您需要指令来防止注释转义到实体。
所以而不是做
<td>{{ $ctrl.payerName|mousestats_hide }}</td>
Run Code Online (Sandbox Code Playgroud)
你应该做
<td ng-bind-html="$ctrl.payerName|mousestats_hide"></td>
Run Code Online (Sandbox Code Playgroud)
这是生成以下标记的工作演示。(我不太喜欢<table>所以只是替换<td>为<span>)
<body ng-controller="MainCtrl" class="ng-scope">
<span>Payer Name is: </span>
<span ng-bind-html="payerName |mousestats_hide" class="ng-binding">
<!-- StartMouseStatsHide -->Jakub Filipczyk<!-- EndMouseStatsHide -->
</span>
</body>
Run Code Online (Sandbox Code Playgroud)
注意到我在过滤器中注入的 $sce 服务的使用了吗?
这是为了防止[$sce:unsafe] 错误使 Angular 相信有人试图在安全上下文中使用不安全的值。
希望有帮助!
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |