按钮路由器链接无法正常工作

问题描述

我想弄清楚如何在按钮中提供 routerLink 路径。如果我提供完整路径,则以下路由器代码正在运行,我可以看到该页面

[routerLink]="['/home',{outlets:{homeOutlet:':product/import/103'}}]"

但是我有变量而不是任务和 id,我尝试了以下操作但没有工作。

[routerLink]="['/home',{outlets:{homeOutlet:':(this.productStore.activeProduct$.getValue().productName)/import/this.productStore.activeProduct$.getValue().id'}}]">

我该如何解决这个问题?请指教。

解决方法

如果您将其移至打字稿代码,这可能会起作用

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

  constructor(private router:Router){}

    public navigate() {
       string path = ':' +this.productStore.activeProduct$.getValue().productName +'/import/' + this.productStore.activeProduct$.getValue().id
       this.router.navigate(['/home',{ outlets: { homeOutlet: [path] } }]);
    }

然后在您的 html 文件中删除属性 [routerLink] 并添加 (click) = "navigate()"