无法绑定到 'leafletOptions',因为它不是 'div' 的已知 属性
Can't bind to 'leafletOptions' since it isn't a known property of 'div'
我知道这是一个经常出现的问题,可以通过修复导入语句来解决。我目前有
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- 的应用程序模块的子模块的情况传单。
一些其他注意事项:
- 当您导入
LeafletModule
时,您需要提供进入 node_modules 的路径是不寻常的。大多数构建管道将自动取消引用包。
@types/leaflet
导入也是如此。如果需要,大多数构建管道会自动提取类型信息。
- 完全有效
import * as L from 'leaflet';
您还可以根据需要导入特定项目,例如 import Map from {leaflet};
我修好了。我没有将正确的导入添加到父组件的测试配置文件中。现在一切都好!
我在测试中遇到了同样的问题,
但是当我添加:
imports: [
LeafletModule,
LeafletMarkerClusterModule
]
问题消失了。
如果它对任何人有帮助,当我没有将我的新 MapComponent
放入 app.module.ts
中的 declarations
时(使用 ngx-leaflet,否则正确导入)。
我知道这是一个经常出现的问题,可以通过修复导入语句来解决。我目前有
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- 的应用程序模块的子模块的情况传单。
一些其他注意事项:
- 当您导入
LeafletModule
时,您需要提供进入 node_modules 的路径是不寻常的。大多数构建管道将自动取消引用包。 @types/leaflet
导入也是如此。如果需要,大多数构建管道会自动提取类型信息。- 完全有效
import * as L from 'leaflet';
您还可以根据需要导入特定项目,例如import Map from {leaflet};
我修好了。我没有将正确的导入添加到父组件的测试配置文件中。现在一切都好!
我在测试中遇到了同样的问题, 但是当我添加:
imports: [
LeafletModule,
LeafletMarkerClusterModule
]
问题消失了。
如果它对任何人有帮助,当我没有将我的新 MapComponent
放入 app.module.ts
中的 declarations
时(使用 ngx-leaflet,否则正确导入)。