【问题标题】:HOW TO FIX Uncaught Error: Template parse errors: 'nb-sidebar' is not a known element:如何修复未捕获的错误:模板解析错误:“nb-sidebar”不是已知元素:
【发布时间】:2019-05-24 09:28:57
【问题描述】:

我是 Nebular 的新手,还有其他基于 Nebular 的详细文档吗?
我已经尝试在模块中插入一个组件。
我用侧边栏模块制作了一个侧边栏组件。

App.module

import { BrowserModule } from '@angular/platform-browser';<br>
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NbThemeModule, NbLayoutModule } from '@nebular/theme';
// import { SideBarComponent } from './side-bar/side-bar.component';
import { SideBarModule } from './side-bar/side-bar.module';

@NgModule({
  declarations: [
    AppComponent,
    // SideBarComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    NbThemeModule.forRoot({ name: 'cosmic' }),
    NbLayoutModule,
    SideBarModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

app.component.html

<nb-layout>

  <nb-layout-header fixed>
  <!-- Insert header here -->
  <a routerLink="/side-bar" routerLinkActive="active">SIDEBAR</a>

  </nb-layout-header>

  <nb-layout-column>

    <!--The content below is only a placeholder and can be replaced.-->


  </nb-layout-column>

  <nb-layout-footer fixed>
  <!-- Insert footer here -->
  </nb-layout-footer>

</nb-layout>

sidebar.module.ts

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { SideBarComponent } from './side-bar.component';
import { NbLayoutModule } from '@nebular/theme';
// import { SideBarService } from '../services/side-bar.service';



@NgModule({
  declarations: [SideBarComponent],
  imports: [
    CommonModule,
    NbLayoutModule,
  ]
})
export class SideBarModule { }

sidebar.comonent.ts

import { Component, OnInit } from '@angular/core';
import {MatSidenavModule} from '@angular/material/sidenav';
import { NbSidebarService } from '@nebular/theme';

@Component({
  selector: 'app-side-bar',
  templateUrl: './side-bar.component.html',
  styleUrls: ['./side-bar.component.scss']
})
export class SideBarComponent implements OnInit {

  constructor(private sidebarService:NbSidebarService){}
ngOnInit(){

}
toggle() {
  this.sidebarService.toggle(true);
  return false;
}

  }

sidebar.html

<nb-layout>

  <nb-layout-header subheader>
    <a href="#" (click)="toggle()"><i class="nb-menu"></i></a>
  </nb-layout-header>

  <nb-sidebar></nb-sidebar>

  <nb-layout-column>Layout Content</nb-layout-column>
</nb-layout>

服务

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root'
})
export class SideBarService {

  constructor() { }
}

我希望将程序作为侧边栏运行。
但是如何解决这个错误呢?

未捕获的错误:模板解析错误:
'nb-sidebar' 不是已知元素:
1. 如果 'nb-sidebar' 是 Angular 组件,则验证它是该模块的一部分。
2. 如果“nb-sidebar”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。 ("

[错误->]

布局内容 "): ng:///SideBarModule/SideBarComponent.html@6:2

有人可以帮忙吗?

【问题讨论】:

  • 请不要对我们大喊大叫。
  • 忍不住...?

标签: angular bootstrap-4 sidebar nebular


【解决方案1】:

您还需要在 AppModule 和 SideBarModule 中导入 NbSidebarModule

app.module.ts

import {NbSidebarModule} from '@nebular/theme'

@NgModule({
  //...
  imports: [
    //...
    SideBarModule,
    NbSidebarModule.forRoot() //<== add this
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

sidebar.module.ts

import {NbSidebarModule} from '@nebular/theme'

@NgModule({
  //..
  imports: [
    NbSidebarModule //<== add this
  ]
})
export class SideBarModule { }

【讨论】:

  • 感谢这可能会有所帮助...!!!我怎么能调用 而不是路由器它没有发生.. 它也给出了同样的错误 'app-side-bar' is not a known element: 你如何解决这个问题
  • 我不确定您的确切意思。如果您的组件未被识别,您需要从您的SideBarModule 导出它并将其导入您尝试使用它的任何模块中。如果这没有帮助,请考虑再问一个问题
【解决方案2】:

尝试在您的sidebar.module.ts 中导入SideBarModule 而不是App.module

【讨论】:

  • 模块不能插入到自己的模块中
【解决方案3】:

试试这个

// sidebar.module.
import { NbSidebarService } from '@nebular/theme';

// also import
  imports: [
    NbSidebarService 
  ]
})

【讨论】:

  • 服务不能在 imports 它的提供者中,我已经这样做了
猜你喜欢
  • 1970-01-01
  • 2021-03-25
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 2018-01-24
  • 2018-10-11
  • 2020-03-21
  • 2020-04-19
相关资源
最近更新 更多