我如何在 Ionic 2 的控制器中从字符串运行函数。我的代码:
export class ProjectsPage {
text:string = '' ;
constructor() {
this.text = '<a (click)="myAlert()">Show allert</a>' ;
}
myAlert() {
alert(1) ;
}
}
您可以使用
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
查看此答案以跟进发布版本和导入中的更新
我只能猜测你的要求,但你的错误很可能是由(click)
函数中传递字符串引起的。更改是:
this.text = '<a (click)="'+this.myAlert()+'">Show allert</a>' ;
这应该可以解决问题。