Angular 8 个应用程序在与 ng-bootstrap 相关的控制台中产生运行时错误
Angular 8 app produces runtime error in console related to ng-bootstrap
我有一个 Angular 8 的应用程序,一直在愉快地使用 ng-bootstrap
。在我的仪表板惰性模块中实施 ng-bootstrap
后,我遇到了无法使用 Dropdown
组件的问题。
谁能帮我看看这个问题是怎么解决的?
重新编辑
现在,我的文件夹结构如下:
并遵循 This 示例。我创建了一个名为 dropdown
.
的新文件夹
这是我的 dashboard.component.html:
<div class="d-flex">
<div class="p-2 flex-grow-1">
<h4>
Dashboard
<span class="badge badge-light">Transactions</span>
</h4>
</div>
<div class="p-2">
<ngbd-dropdown-basic></ngbd-dropdown-basic>
</div>
</div>
dashboard.module.ts:
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { DashboardComponent } from './components/dashboard.component';
import { NgbdDropdownBasicModule } from '../dropdown/dropdown-basic.module';
const routes: Routes = [
{ path: '', component: DashboardComponent }
];
@NgModule({
imports: [CommonModule, NgbdDropdownBasicModule, RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [NgbdDropdownBasicModule ]
})
export class DashboardModule { }
下拉列表-basic.html:
<div ngbDropdown class="dropdown">
<button ngbDropdownToggle class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown button
</button>
<div ngbDropdownMenu class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
下拉列表-basic.ts:
import { Component } from '@angular/core';
@Component({
selector: 'ngbd-dropdown-basic',
templateUrl: './dropdown-basic.html'
})
export class NgbdDropdownBasic {}
下拉菜单-basic.module.ts:
import { NgModule } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { NgbdDropdownBasic } from './dropdown-basic';
@NgModule({
imports: [NgbModule],
declarations: [NgbdDropdownBasic],
exports: [NgbdDropdownBasic],
bootstrap: [NgbdDropdownBasic]
})
export class NgbdDropdownBasicModule { }
现在,当前的问题是我的 ngbd-dropdown-basic
加载成功,但没有显示内容。
我做错了什么请告诉我。 :(
终于实现了我的目标
删除:
providers: [NgbdDropdownBasicModule ]
并添加
declarations: [DashboardComponent]
在我的 dashboard.module.ts
文件中。
感谢其他开发人员在我的 post 上付出的时间和努力。
我有一个 Angular 8 的应用程序,一直在愉快地使用 ng-bootstrap
。在我的仪表板惰性模块中实施 ng-bootstrap
后,我遇到了无法使用 Dropdown
组件的问题。
谁能帮我看看这个问题是怎么解决的?
重新编辑
现在,我的文件夹结构如下:
并遵循 This 示例。我创建了一个名为 dropdown
.
这是我的 dashboard.component.html:
<div class="d-flex">
<div class="p-2 flex-grow-1">
<h4>
Dashboard
<span class="badge badge-light">Transactions</span>
</h4>
</div>
<div class="p-2">
<ngbd-dropdown-basic></ngbd-dropdown-basic>
</div>
</div>
dashboard.module.ts:
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { DashboardComponent } from './components/dashboard.component';
import { NgbdDropdownBasicModule } from '../dropdown/dropdown-basic.module';
const routes: Routes = [
{ path: '', component: DashboardComponent }
];
@NgModule({
imports: [CommonModule, NgbdDropdownBasicModule, RouterModule.forChild(routes)],
exports: [RouterModule],
providers: [NgbdDropdownBasicModule ]
})
export class DashboardModule { }
下拉列表-basic.html:
<div ngbDropdown class="dropdown">
<button ngbDropdownToggle class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown button
</button>
<div ngbDropdownMenu class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
下拉列表-basic.ts:
import { Component } from '@angular/core';
@Component({
selector: 'ngbd-dropdown-basic',
templateUrl: './dropdown-basic.html'
})
export class NgbdDropdownBasic {}
下拉菜单-basic.module.ts:
import { NgModule } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { NgbdDropdownBasic } from './dropdown-basic';
@NgModule({
imports: [NgbModule],
declarations: [NgbdDropdownBasic],
exports: [NgbdDropdownBasic],
bootstrap: [NgbdDropdownBasic]
})
export class NgbdDropdownBasicModule { }
现在,当前的问题是我的 ngbd-dropdown-basic
加载成功,但没有显示内容。
我做错了什么请告诉我。 :(
终于实现了我的目标
删除:
providers: [NgbdDropdownBasicModule ]
并添加
declarations: [DashboardComponent]
在我的 dashboard.module.ts
文件中。
感谢其他开发人员在我的 post 上付出的时间和努力。