You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular:如何在模板中引用循环对象m?替换agm-info-window内容

解决在Angular的agm-info-window中引用循环变量m的问题

没问题,这其实很简单~你只需要直接在<agm-info-window>内部使用{{ m.class }}就可以了,因为<agm-marker>是在*ngFor循环里渲染的,每个marker对应的模板上下文里都包含当前的m对象,作为子元素的<agm-info-window>可以直接访问这个上下文变量。

修改后的完整代码如下:

<ng-container *ngIf="vortexFeed">
  <agm-marker 
    *ngFor="let m of mVortex; let i = index" 
    (markerClick)="clickedMarker(m.label, i)" 
    [latitude]="m.lat" 
    [longitude]="m.lng" 
    [label]="m.label" 
    [markerDraggable]="m.draggable" 
    (dragEnd)="markerDragEnd(m, $event)"
  >
    <agm-info-window>
      <strong>{{ m.class }}</strong>
    </agm-info-window>
  </agm-marker>
</ng-container>

简单解释下:*ngFor会为mVortex数组里的每一项创建独立的<agm-marker>实例,每个实例都绑定了当前循环项的m变量。<agm-info-window>作为<agm-marker>的内容投影部分,自然能获取到当前marker对应的m对象,直接用插值表达式{{ m.class }}就能把m.class的值渲染出来啦。

内容的提问来源于stack exchange,提问作者wwjdm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:39:46