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

问题描述

我想弄清楚如何在按钮中提供 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()"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...