Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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 角度动态routerLink有时使用queryParam 我是这样使用路由器链接的 行得通_Angular - Fatal编程技术网

Angular 角度动态routerLink有时使用queryParam 我是这样使用路由器链接的 行得通

Angular 角度动态routerLink有时使用queryParam 我是这样使用路由器链接的 行得通,angular,Angular,如果item.link是一个不带查询参数的字符串。ie:/search 它不起作用 如果我有查询参数。ie:/search?q=dog 问题: 有没有一种方法可以编写routerLink,使其能够与/search和/search?q=dog一起工作?如果没有,是否有一个函数可以执行此操作 我的尝试(寻找更好的,也许全部是html?) 要在模板中传递查询参数,可以执行以下操作: 某处 我知道很多。。但因为这是动态的。我正在寻找一种处理带或不带查询参数的方法。我认为您需要在路由模块中调整路由,以接受

如果
item.link
是一个不带查询参数的字符串。ie:
/search

它不起作用 如果我有查询参数。ie:
/search?q=dog

问题: 有没有一种方法可以编写routerLink,使其能够与
/search
/search?q=dog
一起工作?如果没有,是否有一个函数可以执行此操作

我的尝试(寻找更好的,也许全部是html?)
要在模板中传递查询参数,可以执行以下操作:

某处

我知道很多。。但因为这是动态的。我正在寻找一种处理带或不带查询参数的方法。我认为您需要在路由模块中调整路由,以接受路径
/search
的查询字符串,并且您将在搜索组件中处理不同的查询字符串。
[routerLink]="[item.link]"
routTo(link) {
    if (link.includes('?')) {
      let tmp = link.split('?');
      this.router.navigate([`/${tmp[0]}`], { queryParams: { [tmp[1].split('=')[0]]: tmp[1].split('=')[1] } });
    } else {
      this.router.navigate([link]);
    }
    setTimeout(() => this.closeDrawer(), 350);
  }