Navbar 上的下拉菜单无法使用 bootstrap 5 使用 ng add 安装方法
Dropdown menu on Navbar not working on bootstrap 5 using ng add installation method
我的设置:
我正在使用 Angular 11.2.11,Bootstrap 5,运行ning Windows。我正在 运行ning 的项目正在使用 SCSS。
问题:
我正在使用 bootstrap 文档 (found here) 中提供的代码将导航栏添加到我的网站:
因此,在我的终端上,在我的文件夹项目中,我 运行 执行以下命令:
ng add @ng-bootstrap/ng-bootstrap
但是,下拉菜单不起作用,我点击它但没有任何反应。
我用的bootstrap安装方法是found here
我试过的:
我找到的所有解决方案都来自其他类型的安装(即在 Angular 和 Bootstrap 的旧版本上手动安装)。
Bootstrap教程(found here),说我不需要手动添加Jquery和Popper(我在Angular之前的版本中找到的解决方案并且Bootstrap说我需要手动添加它,但它也不起作用,并且不建议在新版本的官方安装指南中使用。
我尝试在 angular.json
文件中插入 bootstrap 位置,但也不起作用,如下所示:
"styles": [
"../Istim/node_modules/bootstrap/scss/bootstrap.scss",
"src/styles.scss"
],
还尝试了以下命令:npm install jquery popper.js --save
补充我的评论,在你的模块中导入 NgbDropDownModule 之后
import {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';
...
@NgModule({
imports: [..., NgbDropdownModule],
...
})
并添加 bootstrap.css(最好的选择是将其包含在 angular.json 文件中)
你可以写(看看ngbDropdown
、ngbDropdropToggle
和ngbDropdownMenu
在哪里)
只是在 bootstrap nav-bar
的示例中添加了之前的“指令”
<li class="nav-item dropdown" ngbDropdown class="d-inline-block">
<a class="nav-link dropdown-toggle" href="#" ngbDropdownToggle
id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</a>
<ul ngbDropdownMenu class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
要制作“折叠菜单”,我们可以使用自己的 NgbCollapseModule,如 docs of ngb-bootstrap
中所示
实际上它只声明了一个变量 isMenuCollapsed:boolean=false
并在按钮中
<button class="navbar-toggler" type="button" (click)="isMenuCollapsed = !isMenuCollapsed"
aria-label="Toggle navigation">
当然我们将指令[ngbCollapse]
添加到菜单
<div [ngbCollapse]="isMenuCollapsed"
class="collapse navbar-collapse position-relative" id="navbarSupportedContent">
我真的很喜欢“可折叠”菜单位于 div 绝对位置以“浮动”在菜单页面上。好吧,有点复杂,我不太擅长 .css,但在这个 fool stackblitz 中(我还使用 FormControl 添加了“搜索”作为输出)我留下了一个导航栏,如“ bootstrap"
我的设置:
我正在使用 Angular 11.2.11,Bootstrap 5,运行ning Windows。我正在 运行ning 的项目正在使用 SCSS。
问题:
我正在使用 bootstrap 文档 (found here) 中提供的代码将导航栏添加到我的网站:
因此,在我的终端上,在我的文件夹项目中,我 运行 执行以下命令:
ng add @ng-bootstrap/ng-bootstrap
但是,下拉菜单不起作用,我点击它但没有任何反应。
我用的bootstrap安装方法是found here
我试过的:
我找到的所有解决方案都来自其他类型的安装(即在 Angular 和 Bootstrap 的旧版本上手动安装)。
Bootstrap教程(found here),说我不需要手动添加Jquery和Popper(我在Angular之前的版本中找到的解决方案并且Bootstrap说我需要手动添加它,但它也不起作用,并且不建议在新版本的官方安装指南中使用。
我尝试在 angular.json
文件中插入 bootstrap 位置,但也不起作用,如下所示:
"styles": [
"../Istim/node_modules/bootstrap/scss/bootstrap.scss",
"src/styles.scss"
],
还尝试了以下命令:npm install jquery popper.js --save
补充我的评论,在你的模块中导入 NgbDropDownModule 之后
import {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';
...
@NgModule({
imports: [..., NgbDropdownModule],
...
})
并添加 bootstrap.css(最好的选择是将其包含在 angular.json 文件中)
你可以写(看看ngbDropdown
、ngbDropdropToggle
和ngbDropdownMenu
在哪里)
只是在 bootstrap nav-bar
的示例中添加了之前的“指令”<li class="nav-item dropdown" ngbDropdown class="d-inline-block">
<a class="nav-link dropdown-toggle" href="#" ngbDropdownToggle
id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown
</a>
<ul ngbDropdownMenu class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</li>
要制作“折叠菜单”,我们可以使用自己的 NgbCollapseModule,如 docs of ngb-bootstrap
中所示实际上它只声明了一个变量 isMenuCollapsed:boolean=false
并在按钮中
<button class="navbar-toggler" type="button" (click)="isMenuCollapsed = !isMenuCollapsed"
aria-label="Toggle navigation">
当然我们将指令[ngbCollapse]
添加到菜单
<div [ngbCollapse]="isMenuCollapsed"
class="collapse navbar-collapse position-relative" id="navbarSupportedContent">
我真的很喜欢“可折叠”菜单位于 div 绝对位置以“浮动”在菜单页面上。好吧,有点复杂,我不太擅长 .css,但在这个 fool stackblitz 中(我还使用 FormControl 添加了“搜索”作为输出)我留下了一个导航栏,如“ bootstrap"