【问题标题】:Have to click 2 times before it opens my component在打开我的组件之前必须单击 2 次
【发布时间】:2022-12-19 23:13:39
【问题描述】:

总经理, 我是 Angular 的初学者,我在我的应用程序中使用 Leaflet。 我创建了一些标记,我想在单击标记时打开另一个组件。

这是标记点击

marker.on('click', () => {
  this.isAnySelectedObject = true;
});

然后在 app.js 中,在地图 div 下,我在我的子组件上放了一个 ngIf

<marker-infos *ngIf="isAnySelectedObject"></marker-infos>

在组件出现之前我必须单击 2 次,有人可以帮助我吗?

【问题讨论】:

  • 你能在你的问题中分享你的 component.ts 代码吗?也许你必须使用 ChangeDetection。当您创建组件时,您将 ChangeDetection 设置为“onPush”?

标签: javascript angular leaflet google-maps-markers


【解决方案1】:

将这段代码放在 ngOnInit() 中:

marker.on('click', () => {
  this.isAnySelectedObject = true;
});

【讨论】:

    【解决方案2】:

    解决方案是:

    导入 ChangeDetectorRef,每次我在我的地图中调用一个组件时,我只需要调用这个函数“this.changeDetector.detectChanges();”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      相关资源
      最近更新 更多