2017-06-14 3 views
3

Wie i-Funktion von String in der Steuerung in Ionic laufen 2. Mein Code:Klicken Sie von der Steuerung HTML Ionic 2

export class ProjectsPage { 

    text:string = '' ; 

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

    myAlert() { 
     alert(1) ; 
    } 

} 
+0

Wie zeigen Sie 'this.text' in Vorlage? – Duannx

+0

Ich habe die Antwort aktualisiert. Check it now –

Antwort

2

Sie können dies tun, indem Sie DomSanitizationService verwenden. Importieren Sie den Service

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

nun in der Klasse Konstruktor tun, um diese

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

Verwenden wie dies in Vorlage

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

Werfen Sie einen Blick auf diese answer weiter zu verfolgen, die Updates in der Veröffentlichung Versionen und Importe

2

Ich kann nur raten, was Sie fordern, aber Ihr Fehler ist höchstwahrscheinlich verursacht durch Passing String in (click) Funktion. Änderung ist zu:

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

Dies sollte den Trick tun.

+0

'Fehler: Name kann nicht gefunden werden 'myAlert'' Wenn ich' this.myAlert() 'Emulator ist hängt – wstudiokiwi

+0

Wie wäre es mit' Show allert '? – uksz

+0

if '(click) =" '+ this.myAlert() +' "' dann Funktion zyklisch runing auf Seite init – wstudiokiwi