单击控制器HTML Ionic 2

时间:2017-06-14 08:54:40

标签: angular ionic-framework ionic2

如何从Ionic 2中的控制器中的字符串运行函数。我的代码:

export class ProjectsPage {

    text:string = '' ;

    constructor() {
        this.text = '<a (click)="myAlert()">Show allert</a>' ;
    }

    myAlert() {
        alert(1) ;
    }

}

2 个答案:

答案 0 :(得分:3)

您可以使用DomSanitizationService执行此操作。导入服务

import {DomSanitizationService} from '@angular/platform-browser';

现在,在类构造函数中执行此操作

  constructor(sanitizer: DomSanitizationService) {
      this.text = '<a (click)="myAlert()">Show allert</a>' ;
      this.text = sanitizer.bypassSecurityTrustHtml(this.text);
  }

在模板中使用这样的

<div [innerHTML]="text"></div>  // here the DOM will be appended

请查看此answer以跟进发布版本和导入中的更新

答案 1 :(得分:2)

我只能猜出你要求的是什么,但你的错误很可能是由(click)函数中的字符串传递引起的。改变是:

 this.text = '<a (click)="'+this.myAlert()+'">Show allert</a>' ;

这应该可以解决问题。