欢迎访问 如意编程网!

如意编程网

当前位置: 首页 > 前端技术 > HTML >内容正文

HTML

[转]解决Ionic2 innerHTML 无法嵌入HTML

发布时间:2022/11/16 HTML 10 老码农
如意编程网 收集整理的这篇文章主要介绍了 [转]解决Ionic2 innerHTML 无法嵌入HTML 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

[转]解决Ionic2 innerHTML 无法嵌入HTML

admin • 4周前 • 134次点击 • 来自 Ionic2

[转]解决Ionic2 innerHTML 无法嵌入HTML  

在ionic1 中嵌入HTML标签使用 directive方式现实,例如

  .directive('compile', ['$compile', function($compile) {
    return function(scope, element, attrs) {
      scope.$watch(
        function(scope) {
          return scope.$eval(attrs.compile);
        },
        function(value) {
          element.html(value);
          $compile(element.contents())(scope);
        }
      );
    };
  }])

ionicV2 我们可以使用 innerHTML 例如

<p [innerHTML]="assembleHTML(session.location)"></p>

但经过测试不行。无法动态编译。咋办?

步骤1 在项目对应的.ts 文件中引入dom_sanitization_service 例如 session-detail.ts

import { DomSanitizer } from '@angular/platform-browser/src/security/dom_sanitization_service';

步骤2 在构造器中加入例如

  constructor(private sanitizer: DomSanitizer, 
	  public alertCtrl: AlertController,
	  public navParams: NavParams , 
		public navCtrl: NavController ,
		public modalCtrl: ModalController ) {
    this.session = navParams.data;
  }

步骤3 在export class 中添加一个方法提供现实调用例如

  assembleHTML(strHTML:any) {
      return this.sanitizer.bypassSecurityTrustHtml(strHTML);
    }

这样就可以实现动态生成HTML元素了。

总结

以上是如意编程网为你收集整理的[转]解决Ionic2 innerHTML 无法嵌入HTML的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得如意编程网网站内容还不错,欢迎将如意编程网推荐给好友。