0

三天以来,我一直面临着这个甜蜜的问题。让我们从正在制作的单个 HTML 代码开始

<mat-list-item    *ngFor="let setting of SideBarLinks"
                   [ngStyle]="{'display': setting['_value'] === true ? 'block':'none'}"   routerLink="[{{setting.link}}]">
        <mat-icon mat-list-icon>{{setting['icon']}}</mat-icon>
        {{setting.name}}
 </mat-list-item>

问题是我点击它多少次,它什么也没有。我尝试使用链接到应用程序的单独 JSON 来自动化侧栏中的列表。我使用AngularX大约一年,我很高兴知道 routerLink 指令不适用于存在的每个组件。但是当我将它用作单个组件时(没有*ngFor

这是可以帮助您理解的图像

4

2 回答 2

1

正确的语法:

[routerLink]="[setting.link]">

没有 [] 表示它是一个值,您可以使用 {{ }} 语法使其动态化,括号表示它是一个表达式。由于您使用的是 routerLink 数组语法,我假设您需要它,这意味着您需要一个表达式。

于 2017-10-31T16:59:12.253 回答
0

尝试创建一个方法

getRouerLink(link) {
  return [link];
}

然后在你的 *ngFor 中调用它routerLink = "getRouterLink(setting.link)"

于 2017-10-31T16:58:50.957 回答