当有全局可访问类型的两个定义时,Intellisense
会变得困惑。因此,在我将描述的情况下,即使我的解决方案正在编译,我也经常在Intellisense中看到错误,因为确实有两个同名的元素可以全局访问:Leaflet
的Map
,从L
命名空间:L.Map
和地图,从core-js
(一个小型图书馆,每周有100万次下载,在SO上没有标签)。它如何解决两个定义之间的智能感知冲突?
显得多么奇怪的是,在附加的图片:我定义了一个Leaflet
L.Map
,然后试图将它传递给我的标记的addTo
方法时,它的投诉,地图实际上应该有Map<Object, Object>
类型,这绝对是假的。
任何我可以做的以避免这种情况在Visual Studio 2015
与Typescript
?
这就是令人难以置信的奇怪 - Leaflet“Map”类型在命名空间内的事实应该会阻止编译器将两者混合在一起。您使用哪些库类型定义集,DefinitelyTyped? –
是的,DefinitelyTyped,都是'core-js'和'Leaflet'。这是问题中最奇怪的部分。 –
据我所知,它实际上抱怨说,当你期望'Map