2017-10-26 3 views
2

ich unten Code verwenden für modal von HomePage zeigtNach dem modalen Menü und setRoot() funktioniert nicht einwandfrei in IONIC 3. Irgendeine Lösungsmöglichkeit?

import { SignaturePage } from '../signature/signature' 
import { NavController, NavParams, ModalController } from 'ionic-angular'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html', 
}) 

export class QuotationPage { 

    constructor(public navCtrl: NavController, public navParams: NavParams, public modalController:ModalController) { 
     this.signatureImage = navParams.get('signatureImage'); 
    } 
    //By approve button click this modal will appear 
    approvebtn(){ 
    let modal = this.modalController.create(SignaturePage,{ 
     "text": "something" 
    }); 
    modal.present(); 
    } 
} 

TS-Code für modale Seite. Wenn ich versuche, die Startseite als Root-Seite einzurichten, funktioniert die Navigation nicht und die setRoot-Funktion funktioniert nicht für die festgelegte Root-Seite.

import { Component, ViewChild } from '@angular/core'; 
import { NavController, NavParams, ViewController} from 'ionic-angular'; 
import {SignaturePad} from 'angular2-signaturepad/signature-pad'; 
import { HomePage } from '../home/home'; 

@Component({ 
    selector: 'page-signature', 
    templateUrl: 'signature.html', 
}) 
export class SignaturePage { 
    @ViewChild(SignaturePad) public signaturePad : SignaturePad; 
    @ViewChild('myNav') nav: NavController; 

    quotetext:any = ""; 
    public signaturePadOptions : Object = { 
    'minWidth': 2, 
    'canvasWidth': 320, 
    'canvasHeight': 348 
    }; 
    public signatureImage : string; 

    constructor(public navCtrl: NavController, public navParam:NavParams, public viewCtrl:ViewController) { 
    } 

    drawCancel() { 
    this.viewCtrl.dismiss(); 
    } 

hier ist die Übergangsfunktion

drawComplete() { 
    this.signatureImage = this.signaturePad.toDataURL(); 
     this.navCtrl.setRoot(HomePage); 
    } 

    drawClear() { 
    this.signaturePad.clear(); 
    } 

} 
+0

Startseite ist Ihre Startseite richtig? –

+0

Für meine App Homepage ist DashboardPage dann -> SomePage -> SignaturePage -> durch Aufruf Drawcomplete kommt es wieder zu DashboardPage, aber das Menü funktioniert nicht und wenn ich zweimal auf Gerät zurückbreche, kommt es zu SomePage. – Somnath

Antwort

1

Sie alle Seiten Pop kann die popToRoot()

this.navCtrl.popToRoot(); 
+0

Funktioniert nicht für mich, weil ich nach root weitergehen möchte – Somnath

+0

Haben Sie das versucht? Weil es auf diese Weise Dashboard-Seite als root setzen kann –

+0

Ja, ich habe es versucht. aber ich habe noch zwei Seiten vor Modal und nach Modal eine Seite. also möchte ich von der letzten Seite weitergehen. – Somnath

0

verwenden gedrückt Wenn Sie von einem Overlay Component navigieren Sie n wie unten gezeigt.

import { App, ViewController } from 'ionic-angular'; 

constructor(private viewCtrl: ViewController,private appCtrl: App) {} 

drawComplete() { 
    this.signatureImage = this.signaturePad.toDataURL(); 
    this.appCtrl.getRootNav().setRoot(HomePage); 
    } 

Sie können mehr über this here lesen.

+0

https://drive.google.com/open?id=0BztyVw_3LTvlNElFRmpEYVV6aXc Überprüfen Sie diese apk, dann würden Sie dieses Problem verstehen. Registrieren (klicken Sie einfach auf die Schaltfläche) -> Wählen Sie im Dashboard ein beliebiges -> wählen Sie ein Produkt -> jetzt Kontaktverlängerung -> Signatur – Somnath

+0

Können Sie dies auf https://stackblitz.com/ simulieren? – Sampath

+0

Sie können es von Ihrem Gerät abspielen – Somnath

Verwandte Themen