прерывистое изменение в Ioni c 5
@ ionic / angular Событие было удалено из Ioni c 5, и они говорят об использовании Observables или Redux в качестве
Альтернатива.
У меня есть этот код, как можно сделать для использования Observables или Redux
моя информация Ioni c:
Ioni c CLI: 5.4.16 (C: \ node_modules \ ioni c) Ioni c Framework: @ ionic / angular 5.0.7 @ angular -devkit / build- angular: 0.803.25 @ angular -devkit / schematics : 8.3.25 @ angular / cli: 8.3.25 @ ionic / angular -toolkit: 2.2.0
Cordova:
Cordova CLI: 9.0.0 (cordova-lib@9.0.1) Cordova Платформы: нет в наличии Cordova Plugins: cordova-plugin-ioni c -keyboard 2.2.0, cordova-plugin-ioni c -webview 4.1.3, (и 8 других плагинов)
Утилита:
cordova-res: не установлено, собственный запуск: не установлено
Система:
Android SDK Инструменты: 1.0 (C: \ android) NodeJS: v12.16.1 (C: \ Program Files \ nodejs \ node.exe) npm: 6.13.4 ОС: Windows 10
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { ServerService } from '../../service/server.service';
import { ToastController,NavController,Platform,LoadingController,Events } from '@ionic/angular';
@Component({
selector: 'app-login',
templateUrl: './login.page.html',
styleUrls: ['./login.page.scss'],
})
export class LoginPage implements OnInit {
email = "";
password = "";
text:any;
constructor(private route: ActivatedRoute,public server : ServerService,public toastController: ToastController,private nav: NavController,public loadingController: LoadingController,public events: Events){
this.text = JSON.parse(localStorage.getItem('app_text'));
}
ngOnInit()
{
}
async login(data)
{
const loading = await this.loadingController.create({
message: 'Please wait...',
});
await loading.present();
this.server.login(data).subscribe((response:any) => {
if(response.msg != "done")
{
this.presentToast(response.msg);
}
else
{
localStorage.setItem('user_id',response.user_id);
this.events.publish('user_login', response.user_id);
if(localStorage.getItem('cart_no'))
{
this.nav.navigateBack('cart');
}
else
{
this.nav.navigateRoot('home');
}
}
loading.dismiss();
});
}
async presentToast(txt) {
const toast = await this.toastController.create({
message: txt,
duration: 3000,
position : 'top',
mode:'ios',
color:'dark'
});
toast.present();
}
goBck()
{
if(localStorage.getItem('cart_no'))
{
this.nav.navigateBack('cart');
}
else
{
this.nav.navigateRoot('home');
}
}
}