首页 > 解决方案 > 按钮路由器链接不起作用

问题描述

我想弄清楚如何routerLink在按钮中给出路径。如果我给出完整路径,则下面的路由器代码正在工作,我可以看到该页面。

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

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

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

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

标签: angularrouter-outlet

解决方案


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

  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()"


推荐阅读