我的数据库中有这个html。
<p>my data here. <b>bold a bit</b></p>
来自工厂的数据库
.factory('DataSingle', function($http, $q){
var sContent = function(idc){
var deferred = $q.defer();
$http.get('http://mydomainrestserver/'+idc)
.success(function(data, status, headers, config){
deferred.resolve(data);
});
return deferred.promise;
}
return { sContent : sContent }
})
这是我的控制器
.controller('SingleCtrl', function($scope, $http, DataSingle, $stateParams){
var single_id = $stateParams.ids;
DataSingle.sContent(single_id).then(
function(single){
$scope.singledata = single;
}
})
单击数据来自数据库。它呈现为文本而不是使用段落和粗体文本呈现。
我得到的只是视图中的简单测试
Title: Single page
Data: <p>my data here. <b>bold a bit</b></p>
数据已成功接收但未在我的设备上正确呈现。问题是,如何将html从查询结果呈现到离子内容视图?
答案 0 :(得分:4)
在工厂
$scope.singledata = $sce.trustAsHtml(single);
in html
<span ng-bind-html="singledata" class="htmlComment"></span>
答案 1 :(得分:1)
显然,除非您使用$sce
服务明确地将其标记为安全,否则出于安全原因会转义所有文本内容。所以你应该做的是:
$scope.singledata = $sce.trustAsHtml(single);