html - 导航栏下拉菜单不适用于 Angular 和 Bootstrap 4

标签 html css angular bootstrap-4

我正在使用 Angular 5 和 Bootstrap 4 开发 Web 应用程序,但我遇到了导航菜单栏下拉菜单的问题。我正在关注文档 https://getbootstrap.com/docs/4.0/components/navs/但我不知道为什么下拉菜单不起作用!

<header>
    <div class = "row align-items-end nopadding">
        <div class = "col-md-3" style = "background-color: blanchedalmond"><app-logo></app-logo></div>
        <div class = "col-md-6">
            <ul class="nav justify-content-center">
                <li class="nav-item">
                    <a class="nav-link menu-item" href="#">Ligas</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link menu-item" href="#">Gráficas</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link menu-item" href="#">Artículos</a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link menu-item dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Clasificaciones</a>      
                    <div class=" dropdown dropdown-menu">
                        <a class="dropdown-item menu-item" href="#">Equipos</a>
                        <a class="dropdown-item menu-item" href="#">Jugadoras</a>
                        <div class="dropdown-divider"></div>
                        <a class="dropdown-item" href="#">Separated link</a>
                    </div>
                </li>                
            </ul>
        </div>
        <div class = "col-md-3 right-content">
            Right column
        </div>
    </div>
</header>

我做错了什么?

编辑一:

我已经通过 npm 添加了 jquery 和 popper,更新了 muy angular-cli.json 并重启了服务器:

angular-cli.json:

enter image description here

当我加载页面时出现此错误:

Error in the source mapping: request failed with status 404 
Resource URL: http://localhost:4200/ scripts.bundle.js 
Sourcemap URL: bootstrap.min.js.map

当我安装 jquery 时,我得到了这个输出:

enter image description here

当我安装 popper 时,我得到了这个输出:

enter image description here

我做错了什么?

最佳答案

您必须确保 popper.js 包含并加载到您的 Angular 应用程序中,因为这是 Bootstrap 4 中弹出或下拉的所有内容所必需的。

angular-cli.json 的相关部分应该如下所示:

"styles": [
"../node_modules/bootstrap/dist/css/bootstrap.min.css",
"styles.css"
],
"scripts": [
"../node_modules/jquery/dist/jquery.min.js",
"../node_modules/popper.js/dist/umd/popper.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js"
],

要安装 popper.js 使用这个命令:

npm install popper.js --save

引用:https://www.npmjs.com/package/popper.js

关于html - 导航栏下拉菜单不适用于 Angular 和 Bootstrap 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49055721/

相关文章:

javascript - 防止用户从输入中删除特定文本

javascript - 如何使用 JavaScript 更改 <a> 标签中的 title 属性?

javascript - 如何传递 <li> 文本而不替换文本框上的文本

html - 如何创建一个看起来像计时器的圆形进度条?

angular - Intellij 不识别 Angular 模块、html 元素、管道等

javascript - 遍历 Typescript 中的对象数组

Angular 错误 this.method 不是函数

javascript - h1 标签不随 bootstrap 改变颜色

css - 我怎样才能让div漂浮在主容器之外

html - CSS 布局问题(图像两侧各有一个按钮)