我需要显示弹出,显示一些消息,然后重定向到另一个component.But,问题是它不显示弹出,而是重定向到另一个组件。我已经尝试了下面的代码,它重定向到另一个component.Since,我是新手,请帮帮我。
注意:如果不重定向到其他组件,则弹出窗口将显示
import { Component,OnInit, ViewEncapsulation,ViewContainerRef } from '@angular/core';
import { NgForm } from '@angular/forms';
import { HttpService } from 'app/http.service';
import { Router } from '@angular/router';
import { Overlay } from 'angular2-modal';
import { Modal } from 'angular2-modal/plugins/bootstrap';
@Component({
selector: 'app-registration',
templateUrl: './registration.component.html',
styleUrls: ['./registration.component.css'],
encapsulation: ViewEncapsulation.None
})
export class RegistrationComponent implements OnInit {
constructor(private httpService : HttpService,private router: Router,overlay: Overlay, vcRef: ViewContainerRef, public modal: Modal) {
overlay.defaultViewContainer = vcRef;
}
ngOnInit() {
}
onsubmit(form: NgForm){
this.httpService.sendData(form.value).subscribe(data =>{
if(data.data == 1 ){this.modal.alert().title('Message').body('Successfully registered').open();
this.router.navigate(['/login']);}
},error => {
if(error)
{
this.modal.alert().title('Message').body('Server is not reachable').open();
}
});
}
}发布于 2017-03-31 10:29:16
onsubmit(form: NgForm){
this.httpService.sendData(form.value).subscribe(data =>{
if(data.data == 1 ){this.modal.alert().title('Message').body('Successfully registered').open();
setTimeout(() => {
this.router.navigate(['/login']);
}, 2000);
}发布于 2017-03-31 10:13:51
这是因为你没有在指令之间等待。
您可以在this.router.navigate(['/login']);之前添加一个定时器指令,可能是2秒。
https://stackoverflow.com/questions/43137987
复制相似问题