首页 > 解决方案 > 如果导入了 mapcontainer,routerlink 不起作用

问题描述

我正在尝试将 Here 地图导入我们的网页之一。

    this.map = new H.Map(<HTMLElement> document.getElementById("mapContainer),
                         this.mapTypes.normal.map);
    let behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(this.map));

在上面添加一个标签不起作用。单击超链接不会将我带到新页面。但是如果我尝试右键单击超链接并在新选项卡中打开,效果很好。

<a *ngFor="let s of getSzValues(z.zones)" [ngClass]='active' href="/Detail/SZ" routerLink="/Detail/{{s[0]}}"> {{s[1]}}</a>

无法缩小根本原因。任何参考或指针都会有所帮助。

标签: angularhere-api

解决方案


问题在于标签中的*ngFor="let s of getSzValues(z.zones)"表达式。<a>getSzValues() 在鼠标事件中被一次又一次地调用。

更新表达式以从对象中获取值而不是像下面那样进行函数调用后问题已解决。

<div *ngFor="let key of z.subzones.keys()">
     <a routerLink="/Detail/{{ key }}">  {{z.subzones.get(key)}}</a>
</div>

@HEREDeveloperSupport 感谢您的回复。


推荐阅读