Angular 5:模板解析错误

时间:2018-07-19 09:06:43

标签: angular typescript angular5

我正在尝试创建一个组件(带有按钮的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”。 (“              [错误->]

0 个答案:

没有答案