如何从Ionic 2中的控制器中的字符串运行函数。我的代码:
export class ProjectsPage {
text:string = '' ;
constructor() {
this.text = '<a (click)="myAlert()">Show allert</a>' ;
}
myAlert() {
alert(1) ;
}
}
答案 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>' ;
这应该可以解决问题。