2017-07-04 9 views
0

Ich möchte die Methode refreshMe() aus der home.ts. anrufen Aber ich bekomme die Nachricht, dass es nicht in der Art von ist. HierHowto rufen eine Funktion von einer anderen Klasse in Typoskript

ist, was ich versucht habe:

=> settings.ts

import { HomePage } from '../home/home' 

[...]

HomePage.refreshMe(); 


=> home.ts

refreshMe() { 
     this.navCtrl.setRoot(this.navCtrl.getActive().component); 
    } 


Auch hier ist die genaue Fehlermeldung:

Property 'refreshMe' does not exist on type 'typeof HomePage'.

+0

es nicht wirklich trocken sein kann, aber wenn das Verfahren nur eine Zeile ist, sollten Sie das als eine Methode hinzufügen, in die Komponente, wo Sie es nennen möchten. Das Einfügen einer Seite in eine andere Seite kann später zu Problemen führen ... – sebaferreras

+0

Ich sehe, wie kann ich das tun? Ich bin neu bei Ionic, kannst du mir vielleicht einen Beispielcode geben? – MrFlyingToasterman

+0

Mögliches Duplikat (https://stackoverflow.com/questions/44901083/how-to-reload-a-page-from-another-class-with-ionic3) – sebaferreras

Antwort

1

AKTUALISIERT

so etwas wie dies versuchen,

einen Anbieter mit ionischen cli erstellen mit dem Befehl,

ionic g provider providerName 

Jetzt setzen Sie Ihre refreshMe() -Funktion insi de den Anbieter, so dass Sie den Anbieter importieren und die refreshMe Funktion verwenden, wo immer Sie so wollen

import { NewProvider } from '../home/home' 

constructor(public myProvider: NewProvider){ 
    myProvider.refreshMe(); 
} 
+0

Ich denke, es hat funktioniert. Aber jetzt kann ich die Einstellungsseite nicht laden. Die ony, was ich bekommen war nutzlos Fehler: '[INFO: console (1436)] "ERROR", Quelle: file: ///android_asset/www/build/main.js (1436)' – MrFlyingToasterman

+0

es beenden und wieder laufen mit ionischem Aufschlag – Gowtham

+0

Uncaught (in Versprechen): Fehler: Kein Provider für HomePage! injektionError @ http: // localhost: 8100/build/main.js: 1583: 86 neinProviderError @ http: // localhost: 8100/build/main.js: 1621: 12 [email protected]http://localhost:8100/build/main.js:3122:19 [email protected]: // localhost: 8100/build/main.js: 3161: 20 [email protected]: // localhost : 8100/build/main.js: 3093: 20 [email protected]: // localhost: 8100/build/main.js: 2962: 16 – MrFlyingToasterman

Verwandte Themen