ade*_*ers 9 escaping filter angularjs
我在AngularJS创建2个过滤器autolink和nl2br.
autolink:将URL字符串转换为<a>具有属性的标记rel="nofollow" target="_blank".我尝试将ngSanitize与linky过滤器一起使用,但是它没有将上面的2个属性添加到它,也没有提供使用exising API的方法.
nl2br:将新行转换为<br>标记.
我想在我的HTML中{{ comment }}使用这两个过滤器{{ comment | autolink | nl2br }},但是在AngularJS执行HTML转义之前应用过滤器,这也导致转义<a>和<br>转义.基本上,我想在转义发生后应用过滤器.
有没有办法用AngularJS做到这一点?
sat*_*run 13
如果您的HTML中有标准插值,Angular将逃避它:
<div> {{ var | filter1 | filter2 }} </div>
Run Code Online (Sandbox Code Playgroud)
整个表达式的结果将被转义.
你想要的是ng-bind-html-unsafe (这里的文档).您可以表达与上面基本相同的内容:
<div ng-bind-html-unsafe='var | filter1 | filter2'></div>
Run Code Online (Sandbox Code Playgroud)
现在表达式的结果将不会被清理,并将作为div的内容插入.
编辑:请注意,还有ng-bind-html,它仍将生成HTML,但将首先清理它($sanitize文档).
ng-bind-html生活在ngSanitize模块中,因此您必须确保在angular.module通话中将其声明为依赖项.
| 归档时间: |
|
| 查看次数: |
11729 次 |
| 最近记录: |