javascript - 如何在传单弹出窗口中集成 Vue 组件?

标签 javascript vue.js leaflet

<分区>

我的项目使用 Vue.js 和 leaflet 在 map 上以标记的形式显示一些数据。

map 上的标记是绑定(bind)的弹出窗口,我希望在相关数据发生变化时响应地更新这些内容,就像任何 Vue 组件一样。

我检查了 vueleaflet 的选项,它为传单提供了一个弹出组件。但是这个脚本通过组件的属性定义了弹出窗口的内容:<l-popup content="a popup"></l-popup> .这种方式与我的情况不太相关,因为我有一些复杂的模板要插入弹出窗口(包括条件语句和子组件)。

我宁愿需要这样的东西:

<l-popup>
  My elaborate content here.
</l-popup>

最佳答案

我建议你使用 vue2-leaflet 代替。

它有一个弹出组件,其行为与您描述的方式相同。参见 here .

enter image description here

还有另一种解决方案,如果你不想用一个包来做vue和leaflet之间的链接。这几乎是一个把戏。

您在组件中创建精心制作的内容,但您隐藏了它:

<my-elaborate-popup-content v-show=False ref='foo'><my-elaborate-popup-content>

然后您可以像这样在您的代码中访问该组件生成的 html:

const template = this.$refs.foo.$el.innerHTML

并用它来填充你的弹出窗口!

关于javascript - 如何在传单弹出窗口中集成 Vue 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56696928/

相关文章:

javascript - 将 JSON 加载到时间图中

javascript - HTML CSS 和/或 javascript 中的复杂五边形按钮集

javascript - Nuxt 新组件不热重载/编译

javascript - Leaflet - 如何从 map 上删除弧线?

javascript - LeafletJS - 层的默认选择

javascript - 如何在尝试使用正则表达式获取两个字符之间的所有数字(包括小数)时处理边缘情况

javascript - MVC 5 jquery更改其他 View 的值

javascript - 如何在vue中创建警告确认框

javascript - VueJS 2 - 如何使用 $emit 传递参数

R 传单 : Passing popupOptions when adding Polygons.