Bootstrap + Angular 动态菜单展开后不折叠
Bootstrap + Angular dynamic menu not collapsing after uncollapse
我有以下代码,我试图显示一个可折叠菜单,我用 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
有什么想法或建议吗?
谢谢!
我认为你在加载依赖项时遇到了一些问题,因为你给我们的代码工作正常。你可以看看这个CodePen
如果您要将简单的 Bootstrap 与 angular 混合使用,则必须按顺序加载它们,如下所示:
- Bootsrap css
- JQuery js
- Bootstrap js
- Angular js
<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>
已解决。
事实证明,我将整个 HTML(带有 html 和 body 标签)插入到视图中。我应该只从 div 部分插入 html。
奇怪的是,在 Chrome 中工作得很好,但 iE 无法处理它。
感谢
我有以下代码,我试图显示一个可折叠菜单,我用 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
有什么想法或建议吗?
谢谢!
我认为你在加载依赖项时遇到了一些问题,因为你给我们的代码工作正常。你可以看看这个CodePen
如果您要将简单的 Bootstrap 与 angular 混合使用,则必须按顺序加载它们,如下所示:
- Bootsrap css
- JQuery js
- Bootstrap js
- Angular js
<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>
已解决。 事实证明,我将整个 HTML(带有 html 和 body 标签)插入到视图中。我应该只从 div 部分插入 html。 奇怪的是,在 Chrome 中工作得很好,但 iE 无法处理它。
感谢