作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Handlebars {{expression}}
表单 HTML 转义值返回,而其 {{{expression}}}
形式没有。有什么办法可以将此功能添加到AngualarJS模板中,以便我们可以使用{{expression}}
用于常规 sanitizer 输出和 {{{expression}}}
对于可信的、非转义的 HTML 表达式?
顺便说一下,我熟悉ng-bind-html
指示。
最佳答案
答案 : 最简洁的答案是不。我从来没有遇到过这样的配置。您无法让 {{{}}} 在 Angular 中工作。
有用的解决方法 :在不使用 ng-bind-html 指令的情况下,不可能通过范围将未转义/未净化的 HTML 放入 View 中。您可以向 Controller 添加一个辅助函数或添加一个过滤器,这可能会使使用 ng-bind-html ( Plunk here ) 更容易一些,但您似乎仍然需要 ng-bind-html:
var app = angular.module('plunker', ['ngSanitize']);
app.controller('MyController', function($scope, $sce) {
$scope.someHtmlContent = "Label: <input name='test'>";
$scope.h = function(html) {
return $sce.trustAsHtml(html);
};
});
app.filter('trustAsHtml', function($sce) { return $sce.trustAsHtml; });
<body ng-controller="MyController">
<div ng-bind-html="someHtmlContent | trustAsHtml">
</div>
<div ng-bind-html="h(someHtmlContent)">
</div>
</body>
关于angularjs - 如何对受信任的 html 使用 {{{}}} 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28383624/
我是一名优秀的程序员,十分优秀!