我正在尝试创建一个组件(带有按钮的div以返回到先前的范围),可以在整个应用程序中使用
ZoomHistory.ts ,
import { Component, ElementRef, Renderer2, ViewChild } from '@angular/core';
//import { olControl} from 'ol/control/control';
@Component({
selector: 'prevview',
template: '<div></div>'
//styles: [require('./map.scss')],
})
export class ZoomHistoryComponent {
@ViewChild('maptoolelement')
private element: ElementRef;
static parameters = [ElementRef, Renderer2, ViewChild];
constructor(private renderer: Renderer2) {
//super();
const backButton = this.renderer.createElement('button');
this.renderer.setAttribute(backButton, 'class', 'ol-navhist-back');
var img = document.createElement('img');
img.src = '../images/zoom-last.png';
img.alt = "Previous view";
backButton.appendChild(img);
renderer.listen(backButton, 'click', (event) => {
// Do something with 'event'
})
this.renderer.appendChild(this.element, backButton);
}
}
并且我正在 map.module.ts
导出此文件import { ZoomHistoryComponent } from '../maptools/zoomhistory/zoomhistory';
@NgModule({
providers: [
],
imports: [
BrowserModule,
RouterModule.forChild(mapRoutes),
],
declarations: [
MapComponent,
ZoomHistoryComponent
],
exports: [
MapComponent,
ZoomHistoryComponent
],
})
export class MapModule { }
在 app.module.ts 中,我将其导入如下,
import { MapModule } from './map/map.module';
@NgModule({
providers,
imports: [
MapModule]
}),
但是当我将此组件放在map.html
时 <prevview></prevview>
其抛出错误,如
compiler.js:486未捕获的错误:模板解析错误: “ prevview”不是已知元素: 1.如果“ prevview”是一个Angular组件,则确认它是该模块的一部分。 2.要允许任何元素,请在此组件的“ @ NgModule.schemas”中添加“ NO_ERRORS_SCHEMA”。 (“ [错误->]