为什么toggleDropdown函数中传递的$ event对象未定义?
这是来自http://plnkr.co/edit/koNsQycAAiEmI8jBApS2?p=preview
的原始代码除了原始代码没有定义button-tag中的toggleDropdown函数。我这样做是因为原始代码没有打开我电脑上的下拉列表。
我使用angularjs 1.3.2和angularjs-bootstrap 0.11.2
'use strict';
angular.module('auth').controller('AccountController', function ($scope) {
$scope.status = {
isopen: false
};
$scope.toggleDropdown = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.status.isopen = !$scope.status.isopen;
};
});
<!-- Single button -->
<div class="btn-group" dropdown is-open="status.isopen">
<button ng-click="toggleDropdown()" type="button" class="btn btn-primary dropdown-toggle" dropdown-toggle ng-disabled="disabled">
Button dropdown <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="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>
</ul>
</div>
答案 0 :(得分:13)
您必须明确指定传递$event
变量:
<button ng-click="toggleDropdown($event)">
答案 1 :(得分:-2)
在我看来,你需要加载jQuery才能获得有意义的事件对象。看看你的插件:http://plnkr.co/edit/ZpQuz1?p=preview
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>