我知道这将是一个愚蠢的问题,但我已经环顾四周,没有找到任何有助于我理解的内容。
我有一个离子项目,我导入了leafletjs 现在一切正常,我使用以下代码导入它:
import leaflet from 'leaflet';
import leaflet from 'leaflet-easybutton';
现在我想将leaftlet.easyButton添加到我的项目中。
在我看来,这个图书馆应该扩展传单,对吧?
leaflet.easyButton('fa-globe', function(btn, map){
helloPopup.setLatLng(map.getCenter()).openOn(map);
}).addTo( YOUR_LEAFLET_MAP );
当然,这种方法会给命名空间带来问题。
现在我想要实现的是通过扩展他的方法来使用leaflet来包含easybutton库提供的方法。
为了能够做到这样的事情:
std::future
所以问题是,如何在打字稿中导入第二个库,以便能够像上面的例子那样使用它?
答案 0 :(得分:2)
Leaflet.EasyButton插件仅执行将一些新方法(easyButton
...)和类(Control.EasyButton
...)附加到L
Leaflet全局命名空间的副作用。 / p>
因此,您只需将其导入以产生副作用:
import * as L from 'leaflet';
import 'leaflet-easybutton';
L.easyButton( /* ... */ );
答案 1 :(得分:0)
我尝试导入两个不同的Keyboard插件时遇到了类似的问题。一个解决方案是命名其中一个插件:
// imports
import leaflet from 'leaflet';
import * as easyButton from 'leaflet-easybutton';
// usage
leaflet //first plugin
easyButton.leaflet //second plugin