I try to show an alert using ionic AlertController. I put it to it’s own component so I can reuse it
The component is lazy loaded
import { Component } from "@angular/core";
import { AlertController } from "ionic-angular";
@Component({
selector: 'forgot-password',
templateUrl: 'forgot-password.html'
})
export class ForgotPasswordComponent {
constructor(public alertCtrl: AlertController) {
}
showPrompt() {
let prompt = this.alertCtrl.create({
title: 'Change Password',
inputs: [
{
name: 'email',
placeholder: 'Email'
},
],
buttons: [
{
text: 'Cancel',
handler: data => {
console.log('Cancel clicked');
}
},
{
text: 'Save',
handler: data => {
this.infoForNewPassword();
}
}
]
});
prompt.present();
}
infoForNewPassword() {
let alert = this.alertCtrl.create({
title: 'Check your email',
subTitle: 'I have send you a new password',
buttons: ['Ok']
});
alert.present();
}
}
import { NgModule } from '@angular/core';
import { ForgotPasswordComponent } from './forgot-password.component';
@NgModule({
declarations: [ForgotPasswordComponent],
exports: [ForgotPasswordComponent],
})
export class ForgotPasswordModule {}
the page where I try to acess the component:
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
export class LoginPage {
@ViewChild(ForgotPasswordComponent) forgotPass: ForgotPasswordComponent;
user: User;
loginForm: FormGroup;
constructor(
public navCtrl: NavController,
public navParams: NavParams,
private formBuilder: FormBuilder,
private userService: UserService,
private toastCtrl: ToastController,
private jwtService: JwtService,
public alertCtrl: AlertController
) { }
ngOnInit() {
this.createForm();
}
ionViewCanEnter(): boolean {
if (this.jwtService.getToken()) {
return false;
}
return true;
}
ngAfterViewInit() {
console.log('for some strange reason ForgotPasswordComponent is not instatiated:', this.forgotPass);
}
import { NgModule } from '@angular/core';
import { IonicPageModule } from 'ionic-angular';
import { LoginPage } from './login';
@NgModule({
declarations: [
LoginPage,
],
imports: [
IonicPageModule.forChild(LoginPage)
]
})
export class LoginPageModule {}