2016-09-14 1 views
0

Ich baue eine App in Ionic 2, ich benutze navparams tu greifen die Taste gedrückt, wenn Sie eine andere Seite drücken. Auf dieser Seite habe ich einen Link, den ich dynamisch mit den Parametern generieren möchte, die abhängig von dem auf der vorherigen Seite gedrückten Buton übergeben werden.Wie man einen dynamischen Knopf mit navparams in ionic 2 hinzufügt

So habe ich Homepage mit Button1, Button2, Button3. I Startseite ich diesen Code haben:

goToPage(){ 
    this.navCtrl.push(Page,{ 
    firstPassed: "param1" 
    }); 
} 

Dann in der nächsten Seite habe ich:

export class Page { 
    public firstParam:any; 
constructor(public navCtrl: NavController, params: NavParams) { 
    this.firstParam = params.get("parampassed"); 
} 

Wenn ich in der seite.html hinzufügen:

<ion-title>{{firstParam}}</ion-title> 

ich die params gut, aber was ich will, ist, dass param als ein Link in einer Schaltfläche, etwa so in der page.ts:

goToPage2(){ 
    this.navCtrl.push(page'parampassed'); 
    } 

So könnte es mich auf die Seite pageparam1.html nehmen

Wie kann ich es tun?

Danke

+1

Ich verstehe Ihre Frage nicht –

+0

Ich weder ... bitte versuchen Sie, Ihre Frage zu klären. – MorKadosh

+0

Nun, einfacher, was ich tun möchte ist, dieses Ergebnis {{firstParam}} als eine Seite zu verwenden, um es als eine URL zu schieben oder hinzuzufügen. – user1998013

Antwort

0

separate Seiten erstellen (einschließlich .ts-Dateien) für Seite 1, Seite 2 und Seite 3

Next Import dieser in Ihrem 'Nextpage'

<button (click)="goToPageWithParam()">Go to param page</button> einen Knopf machen

Jetzt in Ihrer Nextpage erstellen, um diese Funktion:

goToPageWithParam(){ 
    let page:any; 
    if(this.firstParam == "button1"){ 
     page = Page1; 
    } 
    if(this.firstParam == "button2"){ 
     page = Page2; 
    } 

    //etc.. 
    //then at the end 
    this.navCtrl.push(page); 
} 

Ich denke, das ist eine Lösung für Ihr Problem

+0

Danke für deine Hilfe, das möchte ich machen. Das einzige Problem ist, dass ich einen Fehler erhalte, TypeError: this.firstParam ist keine Funktion. Dies ist mein Code: Exportklasse Page2 { public firstParam: any; Konstruktor (öffentlich navCtrl: NavController, Parameter: NavParams) { this.firstParam = params.get ("firstPassed"); } goToPageWithParam() { lassen Sie Seite: any; if (this.firstParam() == "button1") { page = Page3; } if (this.firstParam() == "buton2") { Seite = Page4; } // etc .. // dann am Ende this.navCtrl.push (page); } – user1998013

+0

Problem behoben! Ich habe das() nach dem erstenParam entfernt und jetzt funktioniert es, danke! – user1998013

+0

Entschuldigung, editierte die Antwort. Froh, dass ich helfen konnte – Ivaro18

Verwandte Themen