2017-05-07 11 views
0

entryComponentsにコンポーネントが含まれているのに、「エラー:未知(未定)」というエラーが表示されているページ(ホームページ) :エラー:コンポーネントHomePageがNgModuleに含まれていないか、モジュールがモジュールにインポートされていません。Ionic Frameworkで動作していないコンポーネントがあるページへの移動:3.0.1

Code Block-- 
login.module.ts---- 

@NgModule({ 
    declarations: [ 
    LoginPage, 
    ], 
    imports: [ 
    IonicPageModule.forChild(LoginPage), 
    ], 
    exports: [ 
    LoginPage 
    ], 
    entryComponents:[HomePage]// Added here 
}) 
export class LoginModule {} 
----- 
login.ts---------------- 
@IonicPage() 
@Component({ 
    selector: 'page-login', 
    templateUrl: 'login.html' 
}) 
export class LoginPage { 
createUserId(){ 
    this.myProvider.createUserId(this.value,data=>{ 
    if(data=="success") 
    { 
     this.check_response="UserID created" 
     this.navCtrl.push(HomePage)//-----Getting an error here 
    } 
    else 
    this.check_response="Failure" 
    }) 
    //console.log("submit") 

} 
} 

homepage.module.ts----------- 
@NgModule({ 
    declarations: [ 
    HomePage 

    ], 
    imports: [ 
    IonicPageModule.forChild(HomePage), 
    AddExpenseModule 
    ], 
    exports: [ 
    HomePage 
    ] 
}) 
export class HomePageModule {} 

答えて

0

また、ngModuleの宣言配列にHomePageを含める必要があります。すべてのアプリケーションコンポーネント、ディレクティブなどは、宣言配列で行う必要があります。良い詳細な説明がここにあります:https://www.joshmorony.com/an-introduction-to-ngmodule-for-ionic-2/

+0

おかげさまで、私を助けてくれてありがとうが、私もそれを試しました。例えば、私が宣言し、app.module.ts内のentryComponentを実行すると、すべてがうまく動作しているように見えます。 – sliceh

+0

問題ありません。あなたが正しく何を言っているのか理解しているなら、それは期待される行動です。あなたのアプリケーションが使用するすべてのコンポーネントは宣言されている必要があります。アプリケーションが読み込まれたときにすぐに使用されるコンポーネント(HomePageがこのように表示されているように見える)は、entryComponentsにも存在する必要があります。また、コンポーネントをngModuleにインポートしていることを確認してください。 – amuramoto

+0

そうですが、個々のモジュールとしてやっても機能しないようです。私がapp.module.tsでそれを使用すると宣言すれば、これで遅延ロードの使用は何ですか? – sliceh

関連する問題