router.navigate不起作用
问题描述:
我试图在成功删除数据后重定向页面。所以我把重定向router.navigate的订阅数据部分。但它不工作,我也曾尝试与ngZone也没有任何反应。我也想展示成功的讯息。我怎样才能表明这一点?router.navigate不起作用
没有ngZone:
const rid = params['rid'];
this.roleSer.deleteRole(rid).subscribe(
data => { this.router.navigate(['viewroles']) },
error => { error }
);
});
与ngZone:
const vrid = this.route.params.subscribe((params: Params) => {
const rid = params['rid'];
this.roleSer.deleteRole(rid).subscribe(
data => { this.zone.run(()=>{
this.router.navigate(['viewroles'])
}); },
error => { error }
);
});
答
创建一个重定向功能,并用它
const vrid = this.route.params.subscribe((params: Params) => {
const rid = params['rid'];
this.roleSer.deleteRole(rid).subscribe(
data => {
this.redirect('viewroles');
},
error => { error }
);
});
redirect(path): void {
this.router.navigate(['/' + path])
}
+1
没有为我工作(同一问题) –
是什么this.zone.run(() –
感谢?对于你的建议我已经试过了但是不行 –
你得到了什么错误 –