обмен данными между компонентами и страницами в ионном - PullRequest
0 голосов
/ 17 мая 2018

Здравствуйте, я изучаю ionic и хочу получить доступ к файлам компонентов на домашней странице, когда я упоминаю ссылки на классы компонентов на домашней странице, только первая страница показывает, что остальные страницы не заходят на страницу.

Как решить эту проблему или скажите, как можно решить эту проблему?


componentmodule.ts

import { NgModule } from '@angular/core';
import { ImageComponent } from './image/image';
import { IonicModule } from 'ionic-angular';
import { VideoComponent } from './video/video';
import { AudioComponent } from './audio/audio';
import { TextComponent } from './text/text';

@NgModule({
    declarations: [
        ImageComponent,
        VideoComponent,
        AudioComponent,
        TextComponent
    ],
    imports: [
        IonicModule
    ],
    exports: [
        ImageComponent,
        VideoComponent,
        AudioComponent,
        TextComponent
    ]
})
export class ComponentsModule { }

appmodule.ts

@NgModule({
  declarations: [
    MyApp,
    HomePage
  ],
  imports: [
    BrowserModule,
    ComponentsModule,
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    HomePage
  ],
  providers: [
    StatusBar,
    SplashScreen,
    {provide: ErrorHandler, useClass: IonicErrorHandler},
    ActionSheet 

  ]
})

app.html

<ion-header>
  <ion-navbar>
    <ion-title>
      Ionic Blank
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding>

  <ion-card>
    <ion-card-header>
      Image
    </ion-card-header>
    <ion-card-content>
      <image></image>
    </ion-card-content>
  </ion-card>


  <ion-card>
    <ion-card-header>
      video
    </ion-card-header>
    <ion-card-content>
      <video></video>
    </ion-card-content>
  </ion-card>

  <ion-card>
      <ion-card-header>
        Audio
      </ion-card-header>
        <ion-card-content>
        <audio></audio>
      </ion-card-content>
    </ion-card>

</ion-content>

1 Ответ

0 голосов
/ 17 мая 2018

Я знаю, что есть два способа передачи данных через компоненты.

1) Использование услуг (мне больше нравится)

data.service.ts

    import { Injectable } from '@angular/core';

    @Injectable()
    export class dataService {
        data: string;

        setData(data) {
            this.data = data;
        }

        getData(){
           return this.data;
        }
    }

app.component.ts

import { Component } from '@angular/core';
import { dataService } from './server.service';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  constructor(private dataService: dataService){}

  getData() {
      retrun this.dataService.getData();
  }

}

2) Использование NavController

 //When you are using the push to switch pages you pass the data to the otherpage
    this.navCtrl.push(HomePage, {
          data: user
    });

На странице, на которую вы только что зашли (в этом примере HomePage), вы получаете доступ к данным следующим образом:

constructor(public navCtrl: NavController, public navParams: NavParams) {
    this.user = navParams.get('data');
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...