传单排版加载



我正试图重现一个更简单的例子,即在传单网站上加载一张带有传单的地图,但在打字稿中编码。我没有使用任何框架,比如angular或react。我通过npm安装了传单和类型。为了遵循我们的指导方针,html是在运行时构建的,添加div等,因为我们需要它们,特别是对于我在一个类的构造函数中的映射:

this.MapFrame = document.createElement('div');
this.MapFrame.style.height = "416px";
this.MapFrame.style.width = "616px";
this._mapArea = document.createElement('div');
this._mapArea.style.height = "400px";
this._mapArea.style.width = "600px";
this._mapArea.id = "mapid";
this.MapFrame.appendChild(this._mapArea);

…并将MapFrame添加到文档中。

在类中的方法如下:

this.mymap = L.map("mapid").setView([51.505, -0.09], 13);

那一行给出"容器已初始化"错误,即使我之前没有调用任何传单代码。如果我删除包含地图的div,并放入另一个div,它将立即被地图填充,而不需要调用。如果我尝试输入:

this.mymap = L.map(this._mapArea).setView([51.505, -0.09], 13);

我可以设法加载地图,但试图通过拖动来移动它,我会有一个未捕获的TypeError:

可以通过按钮或鼠标滚轮进行缩放。

在基本html中包含脚本和css,附加的是生成的html。

有谁能帮助我了解幕后发生了什么吗?特别是我不明白为什么地图是加载的,即使我之前没有调用它,为什么我不能拖动它。

解决!主要的错误是一个类型错误,是为不支持元素的classList属性的旧IE版本添加的一段代码引起的。

最新更新