Angular 2 ngIf执行功能或单击时

塞雷尼

仅在执行功能或特定单击时如何显示元素?就我而言,这是我的html标记:

<sebm-google-map [latitude]="lat" [longitude]="lng" [zoom]="zoom" [mapTypeId]="maptype" [mapTypeControlOptions]="mapTypeControlOptions">
    <sebm-google-image-map-type [mapLayerId]="'linz'" [options]=imageMapOptions>
        <sebm-google-map-marker *ngFor="#location of locations" [latitude]="location.lat" [longitude]="location.lng" [label]="location.id" (markerClick)="updateDiv()">
            <sebm-google-map-info-window [disableAutoPan]="true"> {{ location.id }} <strong>{{ location.content }}</strong></sebm-google-map-info-window>
        </sebm-google-map-marker>
    </sebm-google-image-map-type>
</sebm-google-map>


<section  *ngIf="markerClick==true" id="ethiopian-desert">TEST</section>

如您所见,我用markerClick尝试了一下,但似乎不起作用。我想在单击标记时显示它,并且在外部(在屏幕上的某个地方)单击时必须再次关闭它。

这里是一个链接

蒂布斯

您需要创建和更新状态,并且关于状态值,您将显示或隐藏该部分。
我创建了一个示例,该示例将在您单击标记时显示该部分,并在您单击地图时将其隐藏。

在您的模板中:

  template: `
  <sebm-google-map [latitude]="lat" [longitude]="lng" [zoom]="zoom" (click)="hideSection($event)">
    <sebm-google-image-map-type [mapLayerId]="'linz'" [options]=imageMapOptions>
        <sebm-google-map-marker *ngFor="#location of locations" [latitude]="location.lat" [longitude]="location.lng" [label]="location.id" (markerClick)="showSection()">
            <sebm-google-map-info-window [disableAutoPan]="true"> {{ location.id }} <strong>{{ location.content }}</strong></sebm-google-map-info-window>
        </sebm-google-map-marker>
    </sebm-google-image-map-type>
</sebm-google-map>

  <section *ngIf="shouldDisplaySection" id="ethiopian-desert">TEST</section>
`

在您的组件中:

  hideSection($event) {
    // stop event propagation on children
    $event.stopPropagation();

    this.shouldDisplaySection = false;
  }

  showSection() {
    this.shouldDisplaySection = true;
  }

更新插件:http ://plnkr.co/edit/baF1WH1Dxp4eBAGpyHK6?p=preview

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular 2 ngIf执行功能或单击时

来自分类Dev

单击按钮时,我的功能确实起作用(Angular 2)

来自分类Dev

Angular2模板语法-如何对ngIf执行OR

来自分类Dev

单击任何[routerLink]时的Angular 2事件

来自分类Dev

Angular 2 ngFor和ngIf

来自分类Dev

Angular 2 ngIf和ngFor

来自分类Dev

单击功能中的angular2访问依赖性

来自分类Dev

OnInit 订阅的 Angular2 不执行功能

来自分类Dev

Angular 2-再次单击routerLink时重新加载组件

来自分类Dev

Angular2应用程序在单击路线时冻结

来自分类Dev

在Angular 2中单击按钮时更新列表项的值

来自分类Dev

单击时更改类的颜色不起作用 Angular 2

来自分类Dev

Angular 2 innerHTML(单击)绑定

来自分类Dev

共享组件功能(Angular 2)

来自分类Dev

Angular 2订阅未执行

来自分类Dev

Angular 2 组件执行顺序

来自分类Dev

Angular 2-关闭窗口时执行代码

来自分类Dev

在Angular 2(TypeScript)中遇到* ngIf问题

来自分类Dev

在Angular2中主机绑定ngIf

来自分类Dev

ngif导致页面重新加载-Angular 2

来自分类Dev

Angular 2 ngIf和ngFor组合

来自分类Dev

* ngIf多维数组Angular2

来自分类Dev

Angular2 *ngIf 无法正常工作

来自分类Dev

Angular2 *ngIf 内 *ngFor

来自分类Dev

带有 Angular2 图像的 Ngif

来自分类Dev

Angular 2 Routerlink *ngIf 带参数

来自分类Dev

Electron + Angular2 ngIf/ngClass 在创建窗口时在用户交互之后失败

来自分类Dev

Angular 2+ - 当 ngIf 导致隐藏时将 ngModel 设置为 null

来自分类Dev

运行Angular 2 Webpack时Npm链接Angular 2库