gpt4 book ai didi

javascript - 传单弹出窗口在第一次关闭时清除内容

转载 作者:行者123 更新时间:2023-11-28 01:27:08 27 4
gpt4 key购买 nike

对于我的应用程序,我使用的是 Leaflet,并且我已经使用它很远了,所以我确信我理解完成任务的“传单方式”。

由于我的所有标记只有一个静态布局,因此我创建了一个简单的 Mustache 模板,它插入变量数据并为我提供 HTML:

can.view("leads/popup", viewOptions)

这将按预期工作并生成 HTML 字符串,该字符串可以正确显示。

但是当我关闭并重新打开弹出窗口时,会导致弹出内容为空。

var popup = L.popup({maxWidth: 1000, closeOnClick: true}, marker);
popup.setContent(can.view("leads/popup", viewOptions));

var marker = L.marker(L.latLng(lng, lat),
{icon: L.divIcon({
className: 'lead-icon lead_'+lead._id.$oid,
iconSize: [size, size],
html: '<span class="marker-label">' + label + '</span>'
})
});

marker.bindPopup(popup);
self.displayMarker(marker);

我的想法是扩展 L.Popup 类并将 _content 固定到我的 HTML 代码。但我不确定它是否有点过于强大。

非常感谢您的帮助,

斯蒂芬

最佳答案

好吧,我终于找到了失败的地方:

can.view 返回一个 DocumentFragment,它似乎在初始构建中工作。

L.Popup 源代码中,我找到了一行代码,其中它们将类型与字符串进行匹配 - DocumentFragment 被作为对象处理。

我通过使用 can.view.render("leads/popup", viewOptions) 解决了这个问题,它返回一个带有渲染 HTML 的字符串。

关于javascript - 传单弹出窗口在第一次关闭时清除内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22557290/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com