我正在使用角色ng-bind-html
将此文字绑定到页面:
Ale
skoro nikdy sa nepozeráme na priemerné produkty s údivom, že nie sú skvelé.
Priemerné služby a produkty robia to, čo sa od nich očakáva. Nastavili ale
latku tak nízko, že skoro ani nemá cenu urobiť kvôli ním pár krokov navyše, aby
ste si ich kúpili.<div><br></div><div><br></div><div>Prečo
nie je každé jedlo v reštaurácii skvelou kúpou za svoju cenu? Vyzerá to, ako by
sme ochotne brali všetko viac menej zlé za prijateľné, s výnimkou prípadov, keď
daný produkt, služba alebo firma nestoja úplne za nič.</div><div><br></div><div><br></div><div>Vyzvite priemernosť vo
vašej firme na súboj. Pretože presne takýto pohľad priemernosti na vás, môžu
mať aj vaši zákazníci.</div>
所以你可以看到它包含各种html标记编码字符。 ng-data-bind处理得非常正确,因此文本在页面上是可读的。
但是当我使用$sanitize
来解析html字符时,我会得到这个:
Ale skoro nikdy sa nepozeráme na priemerné produkty s údivom, že nie sú skvelé. Priemerné služby a produkty robia to, čo sa od nich očakáva. Nastavili ale latku tak nízko, že skoro ani nemá cenu urobiť kvôli ním pár krokov navyše, aby ste si ich kúpili.<div><br></div><div><br></div><div>Prečo nie je každé jedlo v reštaurácii skvelou kúpou za svoju cenu? Vyzerá to, ako by sme ochotne brali všetko viac menej zlé za prijateľné, s výnimkou prípadov, keď daný produkt, služba alebo firma nestoja úplne za nič.</div><div><br></div><div><br></div><div>Vyzvite priemernosť vo vašej firme na súboj. Pretože presne takýto pohľad priemernosti na vás, môžu mať aj vaši zákazníci.</div>
那么如何在控制器中模仿ng-bind-html
来清除文本并进一步使用呢?
编辑:对我来说更清楚,我不需要将此文本绑定到视图。这已经有效了。我需要在控制器的逻辑中处理文本,所以我只需要清理它并进一步使用它。
答案 0 :(得分:0)
$ sce.trustAsHtml()应该被使用。
HTML:
<td ng-bind-html="mData.data | unsafe"></td>
JS:
mOverview.controller('appController', function ($scope, $sce) {
$scope.mData = [
{
'data': 'your data'
}
];
});
mOverview.filter('unsafeFilter', function($sce) {
return function(val) {
return $sce.trustAsHtml(val);
};
});