角$消毒与NG绑定,HTML
我采用了棱角分明的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
我的控制器内,以清除文本,并用它进一步?
编辑:对我来说更加清楚,我不需要将这个文本绑定到视图上。这已经起作用了。我需要使用控制器逻辑中的文本,因此我只需要清理它并进一步使用它。
$ 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);
};
});
我不能再强调我需要过滤掉不需要的字符并在控制器中进一步传递文本!我不希望文字显示在页面上。 更清晰我需要somthing像 var content = $ somefilter(tip.content); ..在代码中使用内容变量 – greengold
你必须使用'$ sce.trustAsHtml()'。 –
告诉我如何在控制器中使用它,以便在变量中有清晰的文本。 – greengold
阅读'ngBindHtml'和'$ sce'文档 – charlietfl