Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Angular 5中清除route参数_Angular - Fatal编程技术网

如何在Angular 5中清除route参数

如何在Angular 5中清除route参数,angular,Angular,在我的角度应用程序中有一个主细节视图 主url是/blog。如果用户转到/blog/slug,则会转到同一组件,但会选择该帖子,如下所示: ngOnInit() { this.route.params.subscribe((params) => { if (params.hasOwnProperty('slug') && params['slug'] != '') { this.selectedPost = this.post

在我的角度应用程序中有一个主细节视图

主url是/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']);

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

}
当用户单击主视图中的链接时,可以访问另一篇文章:

onSelect(post: Post): void {
    this.selectedPost = post;
}
我还有一个列表,用户可以根据它筛选主题。我想做的是清除selectedPost,并在更改过滤器时从URL中删除slug参数

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

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

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

}

现在如何将URL重置回/blog?

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