angular - 按钮路由器链接不起作用
问题描述
我想弄清楚如何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()"