Javascript 角度引导下拉开关不工作
我有一个角度引导下拉菜单,似乎没有切换下拉菜单。单击后,没有显示任何内容,尽管我可以看到inspect元素上的列表项 HTML:Javascript 角度引导下拉开关不工作,javascript,angularjs,drop-down-menu,angularjs-directive,angular-bootstrap,Javascript,Angularjs,Drop Down Menu,Angularjs Directive,Angular Bootstrap,我有一个角度引导下拉菜单,似乎没有切换下拉菜单。单击后,没有显示任何内容,尽管我可以看到inspect元素上的列表项 HTML: })) 如果您使用的是低于1.3.0的angular版本,那么将绑定两个下拉切换指令。然后,当您单击元素时,第一个指令打开下拉列表,然后第二个指令立即关闭它 从元素中删除属性下拉切换,它应该可以工作。我也遇到了原始引导下拉列表的问题(也导入了Angularjs UI引导),但它是这样的:当我在导航栏中使用下拉菜单时,只需点击2次,就像引导的官方页面中的演示一样。例如:
})) 如果您使用的是低于1.3.0的angular版本,那么
将绑定两个下拉切换指令。然后,当您单击元素时,第一个指令打开下拉列表,然后第二个指令立即关闭它
从元素中删除属性
下拉切换,它应该可以工作。我也遇到了原始引导下拉列表的问题(也导入了Angularjs UI引导),但它是这样的:当我在导航栏中使用下拉菜单时,只需点击2次,就像引导的官方页面中的演示一样。例如:
<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”
之后,原始引导下拉列表才能在导航栏中正常工作……可能是因为data toggle=“dropdown”
也会让Angularjs UI引导绑定下拉切换指令。您能提供一个jsfidldle吗?我认为使用ng-show更容易实现您想要的功能。该下拉列表是大型生产应用程序中相当复杂的模块的一部分,因此我不确定JSFIDLE是否准确或有用。是否记录了一些事情,即“切换(打开)”被调用?也请尝试将ul
元素保留在span
元素之外。
'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;
};
<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>