我有一个Angular Bootstrap下拉菜单似乎没有切换下拉列表。点击后,没有任何显示,虽然我可以在inspect元素上看到列表项。
HTML:
<div ng-controller="DropdownCtrl">
<!-- Simple dropdown -->
<span class="dropdown" dropdown on-toggle="toggled(open)">
<a href class="dropdown-toggle {{ disableDropdown }}" dropdown-toggle>
<i class="fa fa-align-justify"></i>
</a>
<ul class="dropdown-menu port-dropdown-menu">
<li>test</li>
<li>test2</li>
<li ng-repeat="choice in dropdown.items">
<a ui-sref="portfolio.port({portId: choice.id})">{{ choice.title }}</a>
</li>
</ul>
</span>
</div>
DropdownCtrl:
'use strict';
angular.module('portfolioManager').controller('DropdownCtrl', function ($scope, portfolioCreateService) {
$scope.dropdown = {};
$scope.dropdown.items = portfolioCreateService.getDropdownTabs();
$scope.disableDropdown = portfolioCreateService.getDropdownClass();
$scope.$on('dropdownStatus', function(){
$scope.disableDropdown = portfolioCreateService.getDropdownClass();
console.log($scope.dropdown.items);
});
$scope.status = {
isopen: false
};
$scope.toggled = function(open) {
$log.log('Dropdown is now: ', open);
};
$scope.toggleDropdown = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.status.isopen = !$scope.status.isopen;
};
});
答案 0 :(得分:1)
我使用角度低于1.3.0的低版本,然后<a href class="dropdown-toggle {{ disableDropdown }}" dropdown-toggle>
绑定两个下拉切换指令。然后当您单击元素时,第一个指令打开下拉列表,然后第二个指令立即关闭它。
从元素中删除属性dropdown-toggle
,它应该可以正常工作。
答案 1 :(得分:0)
我还遇到了Original Bootstrap下拉列表的问题(也导入了Angularjs UI Bootstrap),但是它类似于:当我在导航栏中使用它时,只有2次点击触发下拉菜单,就像Bootstrap的官方演示一样页。例如:
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
<li class="divider"></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
只有在我删除data-toggle="dropdown"
后,原始Bootstrap下拉列表才能在Navbar中正常运行......也许是因为data-toggle="dropdown"
还会让Angularjs UI Bootstrap绑定下拉切换指令。