Vue.js 如何在Vue2传单中全屏使用传单

Vue.js 如何在Vue2传单中全屏使用传单,vue.js,leaflet,fullscreen,Vue.js,Leaflet,Fullscreen,有没有人能举例说明如何与 我在一个组件中使用了Vue2Falique(通过npm加载),并将CDN链接添加到index.html中的全屏js。但当全屏js加载时,它找不到对传单的引用,因为它还没有加载。因此,我不确定如何按正确的顺序使用它们。您需要使用this.$refs.mymap.mapObject访问map对象,并在挂载的钩子中添加控件 首先将ref属性添加到元素: <l-map :zoom="zoom" :center="center" ref="mymap"> ...

有没有人能举例说明如何与


我在一个组件中使用了Vue2Falique(通过npm加载),并将CDN链接添加到index.html中的全屏js。但当全屏js加载时,它找不到对传单的引用,因为它还没有加载。因此,我不确定如何按正确的顺序使用它们。

您需要使用
this.$refs.mymap.mapObject
访问map对象,并在
挂载的
钩子中添加控件

首先将
ref
属性添加到
元素:

<l-map :zoom="zoom" :center="center" ref="mymap">
  ...
</l-map>
看到这个了吗

如果您使用的是webpack,则有点不同:

1) 使用
npm安装传单全屏--保存

2) 在
main.js
文件(应用程序入口点)中导入
js
css
文件,或在
index.html
中使用

import 'leaflet-fullscreen/dist/leaflet.fullscreen.css';
import 'leaflet-fullscreen/dist/Leaflet.fullscreen';
3) 在组件中,使用
window.L
而不是
L

mounted() {
  const map = this.$refs.mymap.mapObject;
  map.addControl(new window.L.Control.Fullscreen());
}

感谢您提供的示例,但我使用的是webpack,在编译时,我遇到了以下错误[Vue warn]:挂载钩子中的错误:“TypeError:\uuuuuu webpack\uu IMPORTED\uu MODULE\uu 6\uu传单\uuuuuuuu default.a.Control.Fullscreen不是构造函数”我已更新了答案。我想你需要用
window.L
mounted() {
  const map = this.$refs.mymap.mapObject;
  map.addControl(new window.L.Control.Fullscreen());
}