gpt4 book ai didi

angularjs - $sce.trustAsHtml 过滤器未在动态数据上应用 ng-bind-html

转载 作者:行者123 更新时间:2023-12-02 02:58:35 27 4
gpt4 key购买 nike

我正在尝试通过将 ng-bind-html 与过滤器一起使用来显示我在 div.testData 中收到的 html 内容。我已经在我的应用程序中包含了“ngSanitize”。但不知何故,它只部分起作用。看起来,过滤器没有被应用。当我创建一个本地文件并检查时它工作正常,但是当我在我的项目环境中使用相同的代码时它不起作用。

示例数据:

$scope.userProfile.Information = '<p>Hello, this is sample data to test html.</p>';

显示的输出是:

'<p>Hello, this is sample data to test html.</p>'

期望的输出是:

'Hello, this is sample data to test html.'

请帮我解决这个问题。

HTML:

<div ng-app="myApp" ng-controller="myCtrl">
<div class="testData" ng-bind-html= "userProfile.Information | to_trusted"></div>

过滤器:

app.filter('to_trusted', ['$sce', function($sce){
return function(text) {
var doc = new DOMParser().parseFromString(text, "text/html");
var rval= doc.documentElement.textContent;
//console.log(rval);
return $sce.trustAsHtml(rval);
};
}]);

最佳答案

你可以像下面的代码一样尝试,因为你有给定的工作示例 plunker .也请检查..

Controller :

app.filter('to_trusted', ['$sce', function($sce){
return function(text) {
var txt = document.createElement("textarea");
txt.innerHTML = text;
return $sce.trustAsHtml(txt.value);
};
}]);

关于angularjs - $sce.trustAsHtml 过滤器未在动态数据上应用 ng-bind-html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47863223/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com