2017-01-19 11 views
0

私は、最初のページがホームにあるサイドメニューアプリを持っていて、ユーザーがアプリを入力するとすぐに要素を読み込みます。私はIonic 2を使用しており、通信はソケット経由で行われています。 1つの詳細は、更新時に要素が読み込まれないということですが、メニューボタンをクリックして要素の読み込みを取得すると、誰でも助けてくれますか?currentozoがionicのときにページの要素が読み込まれない2

は、コンポーネントのコードに従います。

export class HomePage { 
    eventsList: Event []; 

    constructor (
    public navCtrl: NavController, 
    public eventService: EventService, 
    public platform: Platform){} 

    ionViewDidLoad() { 
    console.info ('HomePage initializated'); 

    this.platform.ready().then(() => { 
     this.eventService 
     .getAllEvents() 
     .subscribe(
     events => { 
      this.eventsList = events; 
      console.log(events); 
     }, 
     err => console.log("ERROR!", err)) 
    }); 
    } 

} 
+0

サービスを追加できますか? –

答えて

0

新しいページを押すと、あなたがメモリリークを持っていない場合は、サブスクリプションに解除する必要があります。だから、定期購読を解約するようにrembemberしてください。

次のコードでは、ページが破棄されたときに登録を解除します。

export class HomePage implements OnDestroy { 
    eventsList: Event[]; 
    destroy$ : Subject<any> = new Subject(); 

    constructor(
    public navCtrl: NavController, 
    public eventService: EventService, 
    public platform: Platform){} 

    ionViewDidLoad() { 
    console.info ('HomePage initializated'); 

    this.platform.ready().then(() => { 
     this.eventService 
     .takeUntil(this.destroy$) 
     .getAllEvents() 
     .subscribe(
     events => { 
      this.eventsList = events; 
      console.log(events); 
     }, 
     err => console.log("ERROR!", err)) 
    }); 
    } 

    ngOnDestroy(){ 
    this.destroy$.next(); 
    this.destroy$.unsubscribe(); 
    } 

} 
関連する問題