据我所知,在angular 1.x中,我可以使用$sce服务来满足如下需求
myApp.filter('trustAsHTML', ['$sce', function($sce){
return function(text) {
return $sce.trustAsHtml(text);
};
}]);
在html文件中使用如下所示
{{ htmlString || trustAsHTML }}
在Angularjs2版本中,有没有像$sce这样的服务,或者一些管道,或者任何方法可以胜任这样的工作?
发布于 2015-11-02 19:07:39
在angular2中没有ng-include
、trustAsHtml
、ng-bind-html
或者类似的东西,所以你最好的选择就是绑定到innerHtml
。显然,这使您可以接受所有类型的攻击,因此解析/转义内容由您决定,为此您可以使用管道。
@Pipe({name: 'escapeHtml', pure: false})
class EscapeHtmlPipe implements PipeTransform {
transform(value: any, args: any[] = []) {
// Escape 'value' and return it
}
}
@Component({
selector: 'hello',
template: `<div [innerHTML]="myHtmlString | escapeHtml"></div>`,
pipes : [EscapeHtmlPipe]
})
export class Hello {
constructor() {
this.myHtmlString = "<b>This is some bold text</b>";
}
}
这是一个带有简单的html转义/解析的plnkr。
我希望它能有所帮助:)
发布于 2016-11-30 05:05:36
我有同样的问题购买我要求解码HTML从后端和他们,你可以注入html到您的页面
// YOUR TS
@Component({
selector: 'page',
templateUrl: 'page.html'
})
export class Page {
inject:any;
constructor( ) { }
ionViewDidLoad() {
this.inject='your HTML code'
}
}
// YOU HTML PAGE
<div [innerHTML]="inject"></div>
发布于 2019-12-13 18:36:03
您可以帮助的最佳解决方案如下所示:
<p [innerHTML]=your_response_which_is_string></p>
希望它能有所帮助!
https://stackoverflow.com/questions/33472297
复制相似问题