router.navigate不起作用

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 } 
     ); 
    }); 
+0

是什么this.zone.run(() –

+0

感谢?对于你的建议我已经试过了但是不行 –

+0

你得到了什么错误 –

创建一个重定向功能,并用它

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

没有为我工作(同一问题) –