如何清除Angular 5中的路由参数

时间:2018-02-17 01:37:56

标签: angular

我的角度应用程序中有一个主详细信息视图。

主要网址是/ blog。如果用户转到/ blog / slug,那么它会转到相同的组件,但会像这样选择该帖子:

ngOnInit() {
    this.route.params.subscribe((params) => {
        if (params.hasOwnProperty('slug') && params['slug'] != '') {
            this.selectedPost = this.posts.find(x => x.slug == params['slug']);

        }
    });
}

当用户点击主视图中的链接时,用户可以访问另一个帖子:

onSelect(post: Post): void {
    this.selectedPost = post;
}

我还有一个用户可以按主题过滤主题的列表。我想要做的是清除selectedPost,并在更改过滤器时从URL中删除slug参数。

我可以像这样清除所选帖子:

changeTopic(topic: Topic) {
    this.selectedPost = null;

}

现在如何将网址重置为/ blog?

1 个答案:

答案 0 :(得分:1)

将路由器注入主组件。如果您为路径/blog配置了路由,请调用router.navigate('/blog');