Ionic 2 - 实时数据绑定

时间:2018-02-17 22:03:14

标签: html angular typescript ionic-framework ionic2

我正在尝试使用Google地图标记创建自己的信息窗口。 当我点击标记时,我显示了一个div,但div内的信息没有更新。 event.title仍然是旧值。我必须在任何地方点击,然后显示div。如何在不点击的情况下更新视图/数据?感谢

function myMap(inputArray, callback){
  const newArray = [];
  for(let i=0;i<inputArray.length;i++){
    newArray.push(callback(inputArray[i], i, inputArray));  
  }
  return newArray;
}

每次我想在地图上显示新标记时,都会调用addMarker函数。

<div [style.display]="choice == 'maps' ? 'block' : 'none'" style="height: 100%; position: relative;">
  <div #map id="map" style="width: 100%; height: 100%;">
  </div>
  <div id="over_map" class="infos" padding>
    <h4 style="color: white;">{{ event.title }}</h4>
  </div>
</div>

1 个答案:

答案 0 :(得分:3)

我有类似的问题。这必须是Angulars Change Detection的问题。 从NgZone导入@angular/core,将其注入并尝试在区域内运行回调,如下所示:

google.maps.event.addListener(marker, 'click', () => {
    this.zone.run(() => {
        this.event = {
            title: object.title,
            content: object.description
        }
        $("#over_map").slideToggle("slow");
    });
});