Javascript navigateByUrl在使用IONIC4的加载服务中不起作用
我在我的项目中使用ionic loadingCtr,以下是服务:Javascript navigateByUrl在使用IONIC4的加载服务中不起作用,javascript,angular,ionic-framework,Javascript,Angular,Ionic Framework,我在我的项目中使用ionic loadingCtr,以下是服务: @Injectable({ providedIn: 'root' }) export class LoadingServiceService { isLoading = false; spinner:any; constructor( public loadingController: LoadingController ) { } async showLoading(loadingId:
@Injectable({
providedIn: 'root'
})
export class LoadingServiceService {
isLoading = false;
spinner:any;
constructor(
public loadingController: LoadingController
)
{ }
async showLoading(loadingId: string, loadingMessage: string = 'Loading...') {
const loading = await this.loadingController.create({
id: loadingId,
message: loadingMessage,
spinner: 'circles'
});
return await loading.present();
}
async dismissLoader(loadingId: string) {
return await this.loadingController.dismiss(null, null, loadingId).then(() => console.log('loading dismissed'));
}
}
当我尝试从服务器检索数据时,我正在调用此服务:
submit(value: IUserRegister, isValid: boolean) {
this.loading2.showLoading('ifOfLoading')
this.authenticationService.register(value)
.pipe(first())
.subscribe(
data => {
if (data) {
console.log('OK.');
this.loading2.dismissLoader('ifOfLoading')
this.router.navigateByUrl('/phone-dialog');
} else {
console.log('Problem');
this.loading2.dismissLoader('ifOfLoading')
}
},
err => {
this.loading2.dismissLoader('ifOfLoading')
console.log('ERROR :', err);
}
);
}
但我的问题是,当代码执行时,这行代码是:this.router.navigateByUrl(“/phone dialog”);不起作用,但当我删除加载服务时,它起作用了,有人能告诉我问题出在哪里吗?您使用异步和等待功能,但为什么 多亏了ionic LoadingController文档,他们在创建Popover或加载控制器时没有使用异步函数 你能不试一下吗
希望有此帮助:)删除url前面的
/
,并尝试这一点,这与此无关。loading2.showLoading('ifOfLoading'),因为当我删除它时,它可以工作。谢谢你的回答,但我必须使用ASYNC/Wait,文档中提到的使用LoadingController似乎我看到了v3版本,但在V4上,我遵循了这个原则:它是有效的^^