Проблема с атрибутом href тега ‹a› в Angular

Я использую Angular для разработки функций маршрутизатора, поэтому здесь мои данные поступают из JSON, например, и ниже footer.html, где использование * ngFor используется для повторения списка json list.details. Но в ng-container я не использую атрибут href, но в изображении (прикрепленном) вы можете увидеть какое-то значение, встроенное динамически, и для этого мой маршрутизатор не работает:

details: {
    icon: "fa fa-google-wallet  light-blue-text",
    ref: "",
    name: "PIM",
    routeslink: "certificate"
}

Но проблема в том, что когда маршрутизатор меняет URL-адрес, он отражается на html, чего я не хочу.

введите здесь описание изображения

<ul class="no-list-bullet">
    <li *ngFor="let items of list.details">
<i class="{{items.icon}}"></i> 
<a target="_blank" href="{{items.ref}}" *ngIf="items.ref !== '';else second">{{items.name}}</a>
<ng-template #second>
   <ng-container><a [routerLink]="[items.routeslink]" href="javascript:void()">{{items.name}}</a></ng-container>
   </ng-template>


person user2790547    schedule 11.08.2018    source источник


Ответы (2)


Вам нужно сделать ссылку абсолютной

<ng-container><a [routerLink]="['/', items.routeslink]">{{items.name}}</a></ng-container>
person Tomasz Błachut    schedule 11.08.2018
comment
Если это помогло решить вашу проблему, отметьте этот вопрос как свой ответ, чтобы его можно было закрыть. Спасибо! - person DeborahK; 12.08.2018

при использовании routerlink вам не нужно добавлять href, вы можете напрямую использовать это

<a [routerLink]="['/', items.routeslink]">{{items.name}}</a>
person Rashmi Kumari    schedule 11.08.2018