【发布时间】:2016-07-03 16:33:38
【问题描述】:
我正在使用 Ionic 构建一个使用 AngularJS 的应用程序。 因此,通过链接 http://lucassmuller.com/work/projetoblog/api.php?action=posts 上的 API,我想在我的应用程序的页面中显示帖子的内容(“conteudo”),但像这个例子一样显示:
<p><strong>Voc&ecirc; tem&nbsp;um site e deseja um certificado SSL gratuitamente?<\/strong><\/p>\r\n\r\n<p>Se a resposta &eacute; sim, eu tenho uma ferramenta que lhe oferece um certificado SSL gratuitamente usando o Let&rsquo;s Encrypt, que &eacute; uma nova&nbsp;&ldquo;Autoridade de Certifica&ccedil;&atilde;o&rdquo; que &eacute; gr&aacute;tis, automatizada e aberta para todos.<\/p>\r\n\r\n<p>O nome dessa ferramenta &eacute; &ldquo;<strong>SSL For Free<\/strong>&rdquo; ou, em portugu&ecirc;s, SSL gratuito. Este novo servi&ccedil;o &eacute; 100% gr&aacute;tis, e confiado e aceito pela maioria dos navegadores.<\/p>\r\n\r\n<p>Para come&ccedil;ar, basta acessar o site da ferramenta <a href="https:\/\/www.sslforfree.com" target="_blank">clicando aqui<\/a>&nbsp;e ap&oacute;s o acesso, digitar o dom&iacute;nio do seu site no campo que diz...
还有输出:
Você tem um site e deseja um certificado SSL gratuitamente? Se a resposta é sim, eu tenho uma ferramenta que lhe oferece um certificado SSL gratuitamente usando o Let’s Encrypt, que é uma nova “Autoridade de Certificação” que é grátis, automatizada e aberta para todos. O nome dessa ferramenta é “SSL For Free” ou, em português, SSL gratuito. Este novo serviço é 100%...
更新:更改后我的实际代码
controllers.js:
angular.module('starter.controllers', [])
.controller('PostCtrl', function($scope, $filter, API, $http, $stateParams, $sce) {
var postId = $stateParams.postId;
function replace_chars(input) {
return input.replace(/>/g, '>').replace(/</g, '<').replace(/"/g, '"').replace(/'/g, "'").replace(/&/g, '&');
}
function htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes[0].nodeValue;
}
API.posts_all().then(function(response){
var posts=response.data;
for (var i = 0; i < posts.length; i++) {
if (posts[i].id == parseInt(postId)) {
$scope.post = posts[i];
$scope.post.conteudof = replace_chars(posts[i].conteudo);
}
}
console.log('post get ok');
});
$scope.doRefresh = function() {
API.posts_all().then(function(response){
var posts=response.data;
for (var i = 0; i < posts.length; i++) {
if (posts[i].id == parseInt(postId)) {
$scope.post = posts[i];
$scope.post.conteudof = replace_chars(posts[i].conteudo);
}
}
console.log('post get ok');
})
.finally(function() {
// Stop the ion-refresher from spinning
$scope.$broadcast('scroll.refreshComplete');
});
};
})
tab-post.html:
<ion-view view-title="{{post.titulo}}">
<ion-content>
<ion-refresher
pulling-text="Puxe para atualizar..."
on-refresh="doRefresh()">
</ion-refresher>
<div class="list card">
<div class="item item-avatar">
<img src="{{post.gravatarautor}}">
<h2>{{post.nomeautor}}</h2>
<p>Postado em {{post.data * 1000 | date:'dd/MM/yyyy'}}</p>
</div>
<div class="item item-body">
<div ng-bind-html="post.conteudof"></div>
<!--<p>
<a href="#" class="subdued">1 Like</a>
<a href="#" class="subdued">5 Comments</a>
</p>-->
</div>
</div>
</ion-content>
</ion-view>
问题:它将 HTML 显示为原始/纯文本。
【问题讨论】:
-
你试过用
ng-bind-html吗? -
是的,但显示的内容基本相同,:C
-
我这样做了link,但没有显示内容。
标签: angularjs json ionic-framework