2017-09-07 10 views
0

私はちょうどそれがhome.tsにイオン - navCtrl.push(と引数を使用して)

openPage() { 
    this.navCtrl.push(EventsPage) 
} 

この方法を使用する場合、私は承知していますhome.html

(click)="openPage(EventsPage)" 

からメソッドを呼び出しています働くでしょう。

基本的には、クリックされた内容に応じて異なる引数を使用したいが、選択したページに移動するために1つの方法しか使用しない。

(click)="openPage(EventsPage)" 
(click)="openPage(TimetablePage)" 

openPage(page) { 
    this.navCtrl.push(page) 
} 

switch文またはifsを使用するだけでよいですか?私はそれを1つまたは2つの行に保つことができると考えていました。

ありがとうと感謝します。

+0

あなたの質問は独特です。複数のボタンがある場合は、指定されたセットアップが動作します – user7722867

+0

私は遅延読み込みを行い、ページ(コンポーネント)文字列参照をopenPage(ページ)関数に渡すことをお勧めします。 –

+0

user7722867私は同じことを考えましたが、それは明らかにそうではありません –

答えて

0

これはプロジェクトのように思われるので、これは最初からやり始めているようです。これが私の提案です。

新しいページを作成するときは、それにpage.module.tsを作成します。

典型的なpage.module.tsこの

import {IonicPageModule} from 'ionic-angular'; 
import {NgModule} from '@angular/core'; 
import {YourPage} from './your-page.ts'; 

@NgModule({ 
    declarations: [YourPage], 
    imports: [IonicPageModule.forChild(YourPage)] 
}) 
export class YourPageModule{} 

ようになり、これはあなたの-page.tsは、あなたがこの設定のすべてを持っているとき、次のことができ

import {Component} from '@angular/core'; 
import {IonicPage} from 'ionic-angular'; 

@IonicPage() 
@Component({ 
    selector: 'your-page', 
    templateUrl: 'your-page.html' 
}) 
export class YourPage{} 

ようになります方法ですYourPageコンポーネントに移動するには、 'YourPage'文字列をopenPage(page)関数に送信してください。

インポートしたページインスタンスの代わりに文字列をイオニクスNavControllerでプッシュすると、遅延読み込みが可能になります(必要なときにページのjs-bundleを取得します。これにより、多数のページを持つアプリを使用している場合、起動時間が大幅に短縮されます。私はまた、IonicPage docsを読むことをお勧めします、彼らは非常にナビゲーションを扱うときに便利です。

+0

ありがとう。今すぐ仕事に向かうが、私はあなたのsoloutionを明日最初に試してみるだろう。あなたのお時間をありがとうございます。 –

関連する問題