我一起使用地图和backbone.js。使用的 Map JS 库是 Leaflet,但谷歌地图 API 也将在这里应用。
问题: Backbone.js 允许我们将展示(视图)与数据(模型、集合)分开。在使用 Google Maps JS API 或 Leaflets 时,我们似乎无法控制标记的呈现,因此无法为每个标记提供主干视图。这是真的?
将 Maps 与backbone.js 一起使用时,我开始在回调函数中获取嵌套视图和事件处理程序。
JS(传单,类似于 Google Maps API)
// Handle a dragging on the map
map.on('dragend', function() {
App.markersList.fetch(
data: someData,
processData: true
function() {
App.markersListView.render();
};)
});
// Handle a click on a Marker
map.on('popupopen', function() {
// Activate bootstrap tabs
$('#tabs').tab();
// Submit click handler
$('#submit-button').click(function() {
$.post('/api/submit-something',
{data: data},
function() {
// Remove some divs
$('#some-divs').fadeOut();
})
})
// Activate slideshow
Galleria.loadTheme('/js/vendor/galleria.miniml.min.js');
Galleria.configure({
height: 320
});
Galleria.run('#galleria');
// Validation
$('.email-link form').validate({
rules: { ... }
});
});
好吧,您明白了……我需要在 Backbone 的 MVC 结构之外执行这些操作。我可能会错过将两者整合在一起的正确方法。有任何想法吗?谢谢!!