如何将名称从谷歌地图传递给一个功能?

时间:2016-02-14 19:25:17

标签: jquery meteor meteor-autoform

我在模板中有这个autoform:

<div class="map-container">
  {{> googleMap name="exampleMap" options=exampleMapOptions}}
</div>

在我的template.onCreated中我有以下功能:

GoogleMaps.ready('exampleMap', function(map) {
  var marker = new google.maps.Marker({
    position: map.options.center,
    map: map.instance
  });
});

我想要做的是让地图的名称与文档ID相同,以便将标记添加到正在呈现的每个地图中。

我可以轻松地name={{id}}将googleMap名称设为唯一ID,但如何在我的脚本中执行类似操作?

1 个答案:

答案 0 :(得分:0)

您可以在OnCreated和OnRendered回调中使用“this.data”访问模板上下文。

在你的情况下,它就像这样

<Template name="example">
{{#autoForm id=formId doc=currentDoc collection=collection type="normal"}}
  {{> googleMap name=currentDoc._id options=exampleMapOptions}}
{{/autoForm}}
</Template>

您可以使用多种方式将数据上下文传递给模板。

Template.example.helpers({
 formId: functions() {
   return this._id
 },
 currentDoc: function() {
  return this 
 }
})