我知道这是一个经常出现的问题,可以通过修复导入语句来解决。我目前有

import { LeafletModule } from 'node_modules/@asymmetrik/ngx-leaflet';
import * as L from 'leaflet';
import { } from '@types/leaflet';

我正在引用选项,因此:
options = {
    layers: [
        this.googleHybrid
    ],
    zoom: 1.49,
    zoomSnap: 0,
    center: L.latLng([180, -180])}

我觉得我遇到了这个问题,因为将传单中的所有内容都导入为 L。有什么想法吗?

编辑:我还应该补充一点,这只是在测试中出现。

最佳答案

当 Angular.io 没有将 LeafletModule 正确加载到您的应用程序时,就会发生这种情况。通常,您会执行以下操作:

首先,将 LeafletModule 导入您的应用程序模块:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { LeafletModule } from '@asymmetrik/ngx-leaflet';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    LeafletModule.forRoot()
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

然后,如果您在应用程序模块的子模块中使用 ngx-leaflet,则还需要将其导入到该子模块中:
import { NgModule } from '@angular/core';
import { LeafletModule } from '@asymmetrik/ngx-leaflet';

@NgModule({
  declarations: [
  ],
  imports: [
    LeafletModule
  ],
  providers: []
})
export class MyModule { }

a tutorial 解决了如何使用 Angular CLI 启动和运行,但它没有解决使用 ngx-leaflet 的应用程序模块的子模块的情况。

其他一些注意事项:
  • 导入 o​​jit_code 时需要提供 node_modules 的路径是不寻常的。大多数构建管道会自动取消引用包。
  • LeafletModule 导入也是如此。如果需要,大多数构建管道将自动获取类型信息。
  • @types/leaflet 是完全有效的 你也可以根据需要导入特定的项目,例如 import * as L from 'leaflet';
  • 关于typescript - 无法绑定(bind)到 'leafletOptions',因为它不是 'div' 的已知属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49927900/

    10-11 03:45