【发布时间】:2019-04-08 03:50:52
【问题描述】:
尝试在带有引导程序的角度应用程序中实现下拉菜单,但下拉菜单的布局出现问题。下拉菜单在按钮左侧打开,而不是真正的下拉菜单。此外,完整的导航栏获得了新的高度。
我的 HTML 如下所示:
HTML
<div class="btn-group" >
<button
type="button class="
btn btn-success dropdown-toggle"
data-toggle="dropdown"
aria-haspopup="false"
aria-expanded="false"
(click)="panelExpanded = !panelExpanded">Login
</button>
<div *ngIf="panelExpanded" >
<a class="dropdown-item" routerLink="/signin">Anmelden</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" routerLink="/signup">Registrieren</a>
</div>
</div>
panelExpanded 只是 .ts 文件中的布尔值。
我尝试了两种建议的解决方案,但到目前为止都没有奏效:
- 添加
class="dropdown-menu" - 安装引导程序(见下文)
在 angular.json 中添加以下 import-statement 后,它仍然不起作用:
"node_modules/bootstrap/dist/css/bootstrap.css",
另外我安装了 ng-bootstrap
npm install --save @ng-bootstrap/ng-bootstrap
和引导
npm i --save bootstrap
我收到以下消息:
bootstrap@4.1.3 requires a peer of jquery@1.9.1
bootstrap@4.1.3 requires a peer of popper.js@^1.14.3
我也必须安装这两个软件包吗?
我也尝试在 angular.json 中包含 ng-bootstrap-script,但仍然没有成功
"scripts": [
"node_modules/@ng-bootstrap/ng-bootstrap/fesm5/ng-bootstrap.js",
]
提前感谢您的任何反馈。
【问题讨论】:
-
帮自己一个忙,使用 ng-bootstrap。它已经有一个久经考验的下拉菜单。
-
使用 ng-bootstrap 时不需要 jquery.js、tether.js 或 bootstrap.js。 ng-bottstrap 库是用原生 Angular 2 代码替换这些脚本。
标签: angular bootstrap-4 dropdown