如何在保留AngularJS数据绑定的同时移动HTML节点?

时间:2013-11-11 08:04:01

标签: javascript google-maps angularjs

angular-ui / ui-map模块能够将HTML节点从DOM中的任何位置移动到Google Maps InfoWindow,同时保留数据绑定。

<div ui-map-info-window="myInfoWindow">
  <h1>Marker {{marker.id}}}</h1>
  Lat: <input ng-model="currentMarkerLat">, ...
</div>

这只有效,因为Google Maps v3 API允许它将HTML节点作为内容参数传递。

//ui-map.js line 55 - 60
opts.content = elm[0]; //elm[0] is the HTML Node
...
infoWindow = new google.maps.InfoWindow(opts);

我们尝试使用OpenLayers.Popup复制此功能,但无法在不丢失其ng-databinding的情况下移动HTML节点:

//contentDiv is the OpenLayers.Popup container for holding the HTML content to be displayed in the popup
this.contentDiv.appendChild(elm[0]);

这不起作用,只显示没有任何AngularJS绑定的HTML元素(例如显示的是胡须,而不是变量值)。

Google Maps API v3用于保护绑定的技巧是什么?

0 个答案:

没有答案