Uib下拉菜单在HTML视图的正文中不起作用

Uib-Dropdown Does not work in Body of HTML View

本文关键字:正文 不起作用 视图 下拉菜单 HTML Uib      更新时间:2023-09-26

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

"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下拉菜单"变成了"下拉菜单"等等。

或者使用最新版本的ui引导程序。

来源:前缀的引导迁移指南