router.navigate更改了URL,但没有呈现组件

时间:2017-09-12 14:35:05

标签: angular angular-ui-router angular2-routing url-redirection

我不想在我的模板中使用<a href="/my-path/{{my_param}}"></a>,而是愿意使用带参数的函数将我重定向到页面。

所以,这就是我在.ts文件中构建函数的方式:

redirectToChat(my_param){
    this.router.navigate(['./my-path/' + my_param ]);
}

我在模板中如何调用它:

 <div (click)="redirectToChat(my_param)">
    ...
</div>

它会更改URL,但不会渲染组件。 我在我的组件中导入了它:

import { Router, ActivatedRoute, ParamMap } from '@angular/router';

我在构造函数中使用它:private router: Router

你能帮我渲染一下这个组件吗?如何使用函数将用户重定向到页面?

1 个答案:

答案 0 :(得分:5)

您正在使用按网址导航来混合导航(到组件)。 你试过navigateByUrl吗?

this.router.navigateByUrl('./my-path/' + my_param);