У меня есть страница входа, которая работает нормально. После того, как клиент войдет в учетную запись, он будет перенаправлен на «HomePage», теперь HomePage будет иметь все данные клиента. Ниже приведен код файла My loginPage.ts, который работает нормально:
this.auth.login(this.loginCredentials).subscribe(data => {
if(data){
this.customerdata = data;
if(this.customerdata['status_code'] == '200'){
this.navCtrl.setRoot(HomePage,{customerdata: this.customerdata});
}else if(this.customerdata['status_code'] == '000'){
this.navCtrl.setRoot(LoginPage);
}
}
})
Проблема в том, что у меня есть еще одна страница «MyDetailsPage.ts». Я хочу, чтобы на этой странице были те же данные. Я перехожу на эту страницу через раздел SIDE-MENU. Поэтому я не могу использовать функцию PUSH и отправлять данные.
Поэтому, пожалуйста, помогите мне.
Спасибо,
Используя NavParams и События, вы можете сделать это
События — это система событий в стиле «публикация-подписка» для отправки и реагирования на события уровня приложения в вашем приложении.
NavParams — это объект, который существует на странице и может содержать данные для этого конкретного представления.
import { Events } from 'ionic-angular';
first page (publish an event when a user is created)
constructor(public events: Events) {}
createUser(user) {
console.log('User created!')
this.events.publish('user:created', user, Date.now());
}
second page (listen for the user created event after function is called)
constructor(public events: Events) {
events.subscribe('user:created', (user, time) => {
user and time are the same arguments passed in `events.publish(user, time)`
console.log('Welcome', user, 'at', time);
});
}
Ссылка https://ionicframework.com/docs/api/util/Events/
Или попробуйте с параметрами
constructor(public navParams: NavParams){
// userParams is an object we have in our nav-parameters
this.customerdata=this.navParams.get('customerdata');
}
Других решений пока нет …