Javascript $location.search()在Angular 7中等效

Javascript $location.search()在Angular 7中等效,javascript,angular,angular7,angular-components,Javascript,Angular,Angular7,Angular Components,我正在将Angular JS迁移到Angular 7。我正在看这段代码,并试图在Angular 7中实现它 在服务中,注入了$location,以下方法重置并设置查询参数 function resetAllOptions() { // Clears query params $location.search(''); } function setQueryParameters() { // Sets query parameters

我正在将Angular JS迁移到Angular 7。我正在看这段代码,并试图在Angular 7中实现它

在服务中,注入了
$location
,以下方法重置并设置查询参数

function resetAllOptions() {
            // Clears query params
            $location.search('');

}

function setQueryParameters() {
    // Sets query parameters
            $location.search({
                searchType: searchType,
                searchField: searchField,
                searchValue: searchValue,
                searchValueTwo: searchValueTwo,
                searchValueThree: searchValueThree
            });
}

如何在Angular 7中实现这一点?

参数在Angular v7中的实现方式完全不同,因为它们是路由的一部分。因此,没有一条线到另一条线与你所要完成的目标直接对应

在Angular v2+中,有三种不同类型的参数,因此第一步是定义所需的类型

下面是一篇详细介绍不同类型的文章:

假设您希望继续使用查询参数:

您可以在HTML中设置它们,如下所示:

          <a [routerLink]="[product.id]"
             [queryParams]="{filterBy: listFilter, showImage: showImage}">
            {{ product.productName }}
          </a>
this.router.navigate([`/search`],
              {queryParams: {
                     searchType: searchType,
                     searchField: searchField, // ...
               }});

请注意,您可以使用See强制导航