Данные вкладок не загружаются динамические данные в ионном 4 - PullRequest
0 голосов
/ 07 сентября 2018

Привет, я новичок в Ionic, я использую приложение Ionic, используя вкладки. В моем приложении есть три вкладки, каждая из которых содержит каждый компонент и приносит динамические данные (вызов API Rest).

Но только в первый раз он получает данные, в следующий раз щелчок по вкладке не обновляет данные (вызов API Rest не вызывает), потому что я написал в ngOninIt() метод.

ниже мой код:

tabs.html код:

<ion-tabs>
  <ion-tab label="Home" icon="home" href="/tabs/(home:home)">
    <ion-router-outlet name="home"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="About" icon="information-circle" href="/tabs/(about:about)">
    <ion-router-outlet name="about"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="Contact" icon="contacts" href="/tabs/(contact:contact)">
    <ion-router-outlet name="contact"></ion-router-outlet>
  </ion-tab>
</ion-tabs>

tabs.routing.ts

    const routes: Routes = [
      {
        path: 'tabs',
        component: TabsPageComponent,
        children: [
          {
            path: 'mustang',
            outlet: 'tab1',
            loadChildren: './mustang/mustang.module#MustangModule'
          },
          {
            path: 'camaro',
            outlet: 'tab2',
            loadChildren: './camaro/camaro.module#CamaroModule'
          },
          {
            path: 'charger',
            outlet: 'tab3',
            loadChildren: './charger/charger.module#ChargerModule'
          }
        ]
      },
      {
        path: '',
        redirectTo: '/lazy-load-tabs/tabs/(tab1:mustang)'
      }
    ]

;

home.module.ts

import { IonicModule } from '@ionic/angular';
import { RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { HomePage } from './home.page';

@NgModule({
  imports: [
    IonicModule,
    CommonModule,
    FormsModule,
    RouterModule.forChild([{ path: '', component: HomePage }])
  ],
  declarations: [HomePage]
})
export class HomePageModule {}

home.page.ts

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss']
})
export class HomePage implements OnInit {

  constructor() { }

  ngOnInit() {
    alert("app home tabs is clickced...");
  }
}

Но выше метода alert, вызываемого только один раз, где я могу написать код, который он должен вызывать каждый раз, когда нажимает на вкладку.

Заранее спасибо !!!!!

1 Ответ

0 голосов
/ 08 сентября 2018

Вы можете использовать другие события жизненного цикла, которые вызываются каждый раз, как ionViewWillEnter

Подробнее см. https://ionicframework.com/docs/api/navigation/NavController/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...