在前端开发中,经常会遇到页面显示的内容带有HTML标签。默认是未翻译的。集成翻译管道可以正常显示内容。由于Angular和ionic的集成方式有点不同,所以单独写。一、Angular框架集成管道1、新建管道新建命令:nggpipepipe/tohtmltohtml.pipe.ts文件代码:import{Pipe,PipeTransform}from'@angular/core';import{DomSanitizer}from'@angular/platform-browser';@Pipe({name:'tohtml'//usename})exportclassTohtmlPipeimplementsPipeTransform{//在构造方法constructor中添加DomSanitizer(private_sanitizer:DomSanitizer){}transform(html:any,args?:any):any{//获取HTML内容并转换htmlreturnthis._sanitizer.bypassSecurityTrustHtml(html);}}2.参考使用地方
2.ionic框架集成pipe1.新建pipeline,新建命令:ionicgpipepipes/htmlhtml.pipe。ts文件代码import{Pipe,PipeTransform}from'@angular/core';import{DomSanitizer}from'@angular/platform-browser';@Pipe({name:'html'})exportclassHtmlPipeimplementsPipeTransform{//在构造方法中添加DomSanitizerconstructor(private_sanitizer:DomSanitizer){}transform(value:any,...args:any[]):any{//这里返回一个html内容,将值转换返回this._sanitizer.bypassSecurityTrustHtml(值);}}2.整合模块,新建模块化命令:ionicgmodulepipes/pipespipes.module.ts文件代码:import{NgModule}from'@angular/core';import{CommonModule}from'@angular/common';import{HtmlPipe}from"../html.pipe";@NgModule({declarations:[HtmlPipe],imports:[CommonModule],exports:[HtmlPipe]})exportclassPipesModule{}3、去掉app.module.ts文件的declarations部分的HtmlPipe语句4.将PipesModule添加到所用模块的module中。例如,将PipesModule5添加到newsdetail.module.ts中的imports部分,HTML部分5。比较效果