2017-11-21 5 views
2

私は足をIonicとAngularで湿らせようとしています。私はionic start tabs-app tabs --tsでIonicアプリを作った。私はionic g page event-homeでページを作成しました。Ionicによって生成されたページをアプリのルートページとして使用する方法

次に、私は私のホームページとしてその生成されたページを設定したい、何かを変えずに、私は今、私はionic serveにしようとした場合

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

app.component.tsを更新:Error: Uncaught (in promise): Error: No component factory found for EventHomePage. Did you add it to @NgModule.entryComponents?

だから、私はapp.module.tsentryComponentsにそれを追加してみてください:

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

今、私は単純な作業が非常に困難証明しているよう思わ何をしようとしている、だから、Component EventHomePage is not part of any NgModule or the module has not been imported into your module.

を取得します。

ionicによって生成されたページにイオン生成アプリケーションのホームページを変更するにはどうすればよいですか?

+0

になりますこれを行う最も簡単な方法を参照してください。 'ionic g testproject blank'を実行します。空白のプロジェクトは、あなたが "家"と呼ばれるページで欲しいものを正確に行います。次に、 'ionic g page EventHomePage'を実行し、プロジェクト内のHomePageを検索してテキストを置き換えます。最初のプロジェクトのタブを使用したので混乱していたと思います。 –

答えて

1

最近のバージョンがionic-cliのページを生成した場合、そのページは@IonicPageデコレータで作成されています。その場合はevent-home.module.tsファイルもevent-home.tsファイルと同じフォルダに置く必要があります。その表記法で

あなたはapp.component.tsでページコンポーネントをインポートする必要はありませんが、文字列としてページを呼び出します。

rootPage:any = 'EventHomePage'; 

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

+0

event-home.tsファイルにデコレータが含まれていて、event-home.module.tsファイルが生成されました。ただし、 'rootPage:any = 'EventHomePage'を単に追加するだけでは動作しません。 –

+0

私はちょうどあなたのような新しいプロジェクトを作成し、同じ方法でページを生成し、それは私のために働く。ただし、タブを使用しているため、この方法でナビゲーションが失われます。特定のタブでEventHomePageに移動しますか? –

3

ます。またEventHomePageが定義されているモジュールをインポートする必要がありますまたはあなたが同様の宣言に追加し、それが動作するはずapp.module.ts

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

の宣言でEventHomePageを追加する必要があります。

関連する問題