我在模板中有这个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,但如何在我的脚本中执行类似操作?
答案 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
}
})