由RouterLink在模板(Angular)中评估的组件字符串

时间:2017-07-28 14:37:54

标签: angular angular-router

我试图让[RouterLink]评估* ngFor中的对象,该对象具有需要评估的代码的字符串值。

<ul>
  <li *ngFor="let item of ComponentVar">
      [RouterLink]="item.routerLink"
>
  </li>
</ul>

组件

export Component {
  public ComponentVar [
    { name: 'List Item', routerLink: "['', { outlets: { 'app-popup': ['popupComponent'] } }]", index: 4 },
  ]
}

每当我查看路由器日志时,它会显示此编码版本。例如

url: "/path/%5B''%2C%20%7B%20outlets%3A%20%7B%…pp-popup'%3A%20%5B'popupComponent'%5D%20%7D%20%7D%5D"

如何让RouterLink对其进行评估,以便路由正常工作,并且网址日志为:

/path/(app-popup:popupComponent)

1 个答案:

答案 0 :(得分:0)

对于字符串的评估,通过发送已经格式化的网址,当我only给出not时,我设法获得了良好的结果outlet。看起来某处路由器解析器存在问题。 (在您的示例中,您不能发送item.routerLink而不是item.value?)

Component.ts

 public test = "/update-manager/applications/(view2:new)";

Template.html

<button [routerLink]="test">test</button>

结果

<button ng-reflect-router-link="/update-manager/applications/(">test</button>