在展开后,Bootstrap + Angular动态菜单不会折叠

时间:2017-01-11 01:58:45

标签: angularjs twitter-bootstrap dynamic collapse

我有以下代码,我试图显示一个可折叠的菜单,我用AngularJS调用哪些项目:

<div class="btn-group" role="group">
    <button type="button" class="btn navbar-toggle collapsed" data-toggle="collapse" data-target="#SearchMenu" aria-expanded="false">
        <i class="glyphicon glyphicon-th-list"></i>
        <i class="glyphicon glyphicon-chevron-down"></i>
        Search Menu
    </button>
</div>

<div class="collapse navbar-collapse" id="SearchMenu">
    <div class="row">
        <div class="col-md-10">
            <ul class="nav navbar-nav">
                <li class="dropdown" ng-repeat="menuDetail in menu.data" >
                    <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{menuDetail.item.displayName}}<span ng-if="menuDetail.submenu" class="caret"></span></a>
                    <ul class="dropdown-menu" ng-if="menuDetail.submenu">
                        <li ng-repeat="submenu in menuDetail.submenu"><a href="">{{submenu.displayName}}</a></li>
                    </ul>
                </li>
                <li>
                    <a href="" class="icon-menu-padding" data-toggle="tooltip" data-placement="bottom" title="Configurations">
                        <span class="glyphicon glyphicon-cog"></span><span class="hidden-md hidden-sm"> Config</span>
                    </a>
                </li>
                <li>
                     <a href="" class="icon-menu-padding" data-toggle="tooltip" data-placement="bottom" title="Help">
                        <span class="glyphicon glyphicon-question-sign"></span><span class="hidden-md hidden-sm"> Help</span>
                     </a>
                </li>
                <li>
                     <a href="#/" class="icon-menu-padding" data-toggle="tooltip" data-placement="bottom" title="Logout">
                        <span class="glyphicon glyphicon-log-out"></span><span class="hidden-md hidden-sm"> Logout</span>
                     </a>
                </li>
            </ul>
        </div>
    </div>
</div>

在无法连接到服务器的情况下运行以检索菜单项时,它工作正常(即使没有大多数选项也能正确显示和隐藏)。但是当在服务器中运行并在Chrome中和在IE中使用F12进行调试时,在显示菜单后,无法再次折叠。

当我点击按钮再次隐藏菜单时,Chrome开发者工具会指示它会发生变化(请参阅第一张图片),但过了一会儿,它又会恢复原状(见第二张图片),所以我不是能够再次隐藏菜单。

The moment when a click is made to the button to hide the menu

After an instant goes back automatically

有任何想法或建议吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为在加载依赖项时遇到一些问题,因为您提供给我们的代码运行正常。您可以查看此CodePen

如果要将简单的Bootstrap与angular混合,则必须按顺序加载它们,如下所示:

  1. Bootsrap css
  2. JQuery js
  3. Bootstrap js
  4. Angular js
  5. <head>
      ...
      <link rel="stylesheet prefetch" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js">
      <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js">
      <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js">
      ...
    </head>
    

答案 1 :(得分:0)

解决。 事实证明,我有一个完整的HTML(带有html和body标签)插入到视图中。我应该只从div部分插入我的html。 奇怪的是,在Chrome中运行得很好,但是iE无法处理它。

谢谢