javascript - Uib-Dropdown 在 HTML View 主体中不起作用

标签 javascript angularjs angular-ui-bootstrap ng-animate

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

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

在 html View 的 body 标记中创建下拉菜单时,我没有收到任何可见结果。我在控制台和网络分析器中都没有收到任何错误消息。此外,所有其他 AngularJS 和代码在 View 中都可以完美运行,因此外部设置没有任何问题。这是问题中的 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/

相关文章:

c# - 如何在 C# 中获取另一个网站页面的 JavaScript 函数的结果?

javascript - 在 Javascript 中将对象作为参数传递

javascript - 是否可以使 find() 和 findOne() 方法仅返回架构字段

jquery - 使用 AngularJS/jQuery 分离 DOM 树

angularjs - 图像未加载到带有 ftp url 的 <img> 标记中

angularjs - Angular Bootstrap 日期选择器多种格式

javascript - JSLint 字符串比较错误预期为 '===' 而不是看到 '=='

javascript - AngularJS 对象在 Controller 方法中丢失值

javascript - 如何将导航元素的方向从 ltr 更改为 rtl?

angularjs - 如何增加使用 bootstrap AngularJs 创建的 ng-dropdown-multiselect 的宽度