Angular12项目中Bootstrap5下拉菜单无报错不触发问题求助
问题原因&解决方案
1. 依赖顺序错误/依赖不匹配
- 你安装的
jquery-popper是Bootstrap 3/4版本使用的旧依赖,Bootstrap 5依赖的是@popperjs/core,先卸载错误依赖:
npm uninstall jquery-popper
- 如果你选择单独引入Popper,必须保证Popper的引入顺序在Bootstrap JS之前,因为Bootstrap JS加载时需要先读取Popper的依赖,正确的scripts顺序应该是:
"scripts": [ "node_modules/jquery/dist/jquery.min.js", "node_modules/@popperjs/core/dist/umd/popper.min.js", "node_modules/bootstrap/dist/js/bootstrap.min.js", "node_modules/slick-carousel/slick/slick.min.js" ]
- 更简单的方案是直接引入Bootstrap打包好的带Popper的bundle文件,不需要单独引入Popper,直接替换成下面的配置即可:
"scripts": [ "node_modules/jquery/dist/jquery.min.js", "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js", "node_modules/slick-carousel/slick/slick.min.js" ]
2. 重复引入Bootstrap样式冲突
你当前styles数组里同时引入了未压缩和压缩版的Bootstrap CSS,可能出现样式覆盖冲突,删掉其中一条即可,保留压缩版:
"styles": [ "./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css", "node_modules/bootstrap/dist/css/bootstrap.min.css", "src/styles.css", "node_modules/slick-carousel/slick/slick.scss", "node_modules/slick-carousel/slick/slick-theme.scss" ]
3. 检查代码标签闭合
你贴出的下拉菜单示例代码中,缺少</ul>和外层</div>的闭合标签,检查实际业务代码中所有标签是否完整闭合,标签缺失也会导致组件无法正常触发。
注意:修改angular.json配置后,必须重启本地开发服务(终止ng serve后重新运行),新配置才会生效。
内容的提问来源于stack exchange,提问作者PREETHI RAJAMANI
相关产品推荐
相关产品推荐

