代码示例:
<p ng-bind-html="htmlcode | unsafe"></p>
var myApp = angular.module('myApp', ["ngSanitize"]);
myApp.controller('helloController', ["$scope", "$sce", function ($scope, $sce) {
$scope.htmlcode="text <b>ng-bind-html</b>";
}
}])
.filter('unsafe', function($sce) { return $sce.trustAsHtml; });
TypeError:html.indexOf不是函数
我包括&#34; santize.js&#34;。
答案 0 :(得分:1)
您没有包含indexOf
NOR您的var html
的部分。但无论如何,这是一个常见的问题。 TrustAsHtml返回一个Object而不是一个字符串。因此,您无法使用indexOf
。你必须使用第二个函数来获取字符串。
var htmlText = "<b>Hello</b>";
var value = $sce.trustAsHtml(htmlText);
var yourString = $sce.getTrustedHtml(value);
var index = yourString.indexOf("e");
答案 1 :(得分:0)
你有一个支架错字。
myApp.controller('helloController', ["$scope", "$sce", function ($scope, $sce) {
$scope.htmlcode="text <b>ng-bind-html</b>";
}])
.filter('unsafe', function($sce) { return $sce.trustAsHtml; });
删除额外的括号,应该可以使用。