我在尝试成功删除数据后尝试重定向页面。所以我把重定向router.navigate放在数据部分的订阅内。但它不起作用,我也试过用ngZone也没有任何反应。我也希望展示成功的信息。我怎么能表明这一点?
没有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 }
);
});
答案 0 :(得分:1)
创建一个重定向功能并使用它
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])
}