我已经正确安装了以下内容:

"ui-bootstrap": "0.12.2", "ngAnimate": "1.5.5", "AngularJs": "1.5.5

在html视图的body标签中创建下拉菜单时,我没有收到任何可见的结果。我在控制台和网络分析器中均未收到任何错误消息。另外,所有其他angularJS和代码在视图中都可以正常工作,因此外部设置没有任何问题。这是有问题的HTML:

 <div class="btn-group" uib-dropdown dropdown-append-to-body>
  <button id="btn-append-to-body" type="button" class="btn btn-primary" uib-dropdown-toggle>
    DropDown <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" uib-dropdown-menu role="menu" aria-labelledby="btn-append-to-body">
    <li role="menuitem"><a href="#">Action</a></li>
    <li role="menuitem"><a href="#">Another action</a></li>
    <li role="menuitem"><a href="#">Something else here</a></li>
    <li class="divider"></li>
    <li role="menuitem"><a href="#">Separated link</a></li>
  </ul>
</div>


这是有问题的JS:

 var myApp = angular.module('app', ['ui.bootstrap','ngAnimate']);
 myApp.controller('Controller', ['$scope', '$http', '$log', function($scope, $http, $log) {

 $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;
};

$scope.appendToEl = angular.element(document.querySelector('#dropdown-long-content'));
}]);

最佳答案

从ui-bootstrap 0.14.0开始,它们的指令需要uib-前缀。看来您使用的是较早版本,因此应删除uib-前缀,以获取要显示的指令。换句话说,“ uib-dropdown-menu”变为“ dropdown-menu”等。

或者,或者使用最新版本的ui-bootstrap。

资料来源:bootstrap migration guide for prefixes

关于javascript - Uib-Dropdown在HTML View 的主体中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38706830/

10-09 14:56