2017-11-21 1 views
2

Ich versuche nur, meine Füße mit Ionic und Angular nass zu machen. Ich habe eine Ionic App mit ionic start tabs-app tabs --ts erstellt. Ich habe dann eine Seite mit ionic g page event-home erstellt.Wie man eine Ionic generierte Seite als App root page verwendet

Als nächstes wollte ich, dass die generierte Seite als meine Homepage setzen, so, ohne sonst etwas zu ändern, ich app.component.ts aktualisiert zu

... 
import { EventHomePage } from '../pages/event-home/event-home'; 
... 
export Class MyApp { 
    rootPage:any = EventHomePage; 
} 

Nun, wenn ich zu ionic serve versuchen: Error: Uncaught (in promise): Error: No component factory found for EventHomePage. Did you add it to @NgModule.entryComponents?

Also, ich versuche Zugabe zu entryComponents in app.module.ts:

... 
import { EventHomePage } from '../pages/event-home/event-home'; 
... 
@NgModule({ 
    ... 
    entryComponents: [ 
    EventHomePage, 
    ... 
    ] 
}) 
export class AppModule{} 
Jetzt 210

ich Component EventHomePage is not part of any NgModule or the module has not been imported into your module.

Also, versuchen zu tun, was scheint wie eine einfache Aufgabe ziemlich schwierig erweist.

Wie ändere ich die Startseite einer ionengenerierten App auf eine Seite, die von ionic generiert wurde?

+0

Der einfachste Weg, dies zu tun, wird 'ionen g testproject blank' ausführen. Das leere Projekt macht genau das, was Sie wollen mit einer Seite namens "home". Als nächstes starten Sie Ihre 'ionic g Seite EventHomePage' und suchen Sie im Projekt einfach nach HomePage und ersetzen Sie den Text. Ich nehme an, Sie waren verwirrt, weil Sie das anfängliche Projekt der Vorsprünge benutzten. –

Antwort

1

Wenn Sie Ihre Seite mit einer aktuellen Version von ionic-cli erstellt haben, wurde die Seite mit dem @IonicPage Dekorierer erstellt. Wenn ja, müssen Sie auch eine event-home.module.ts Datei im gleichen Ordner wie die event-home.ts Datei haben.

Mit dieser Notation, Sie müssen nicht auf die Seite Komponente in app.component.ts importieren, aber Sie die Seite als String nennen:

rootPage:any = 'EventHomePage'; 

Siehe http://blog.ionicframework.com/ionic-and-lazy-loading-pt-1/ und http://blog.ionicframework.com/ionic-and-lazy-loading-pt-2/

+0

Die Datei event-home.ts enthält den Dekorator und die Datei event-home.module.ts wurde generiert. Es funktioniert jedoch nicht mit dem einfachen Hinzufügen von 'rootPage: any =' EventHomePage '; –

+0

Ich habe gerade ein neues Projekt genau wie Ihres erstellt und die Seite auf die gleiche Weise erstellt und es funktioniert für mich. Es macht jedoch die Navigation auf diese Weise, weil Sie Tabs verwenden. Möchten Sie in einer bestimmten Registerkarte zu EventHomePage navigieren? –

3

Sie auch das Modul importieren, in denen EventHomePage definiert ist, oder Sie werden EventHomePage in den Erklärungen von app.module.ts

0
@NgModule({ 
declarations:[ 
    EventHomePage 
    ], 
entryComponents:[ 
    EventHomePage 
]}) 

in einer Erklärung als auch hinzufügen hinzuzufügen haben und es sollte funktionieren .

Verwandte Themen