Javascript 为什么ng show在角度上不能正常工作?
我想在用户单击图标时显示下拉菜单。我使用Javascript 为什么ng show在角度上不能正常工作?,javascript,angularjs,angularjs-directive,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Angularjs Scope,我想在用户单击图标时显示下拉菜单。我使用ng show,但它不显示下拉菜单选项 我制作了一个图标,…。单击后,我尝试使用ng show打开下拉菜单。但它没有显示原因 这是我的密码 HTML <ul class="dropdown-menu" ng-show='showDropDown'> <li><a href="#">Edit</a></li>
ng show
,但它不显示下拉菜单选项
- 我制作了一个图标,
。单击后,我尝试使用ng show打开下拉菜单。但它没有显示原因…
<ul class="dropdown-menu" ng-show='showDropDown'>
<li><a href="#">Edit</a></li>
<li><a href="#">Delete</a></li>
</ul>
<button ng-click='showDropDownFunction()'> show menu </button>
<ul class="dropdown-menu" ng-show='showDropDown'>
<li><a href="#">Edit</a></li>
<li><a href="#">Delete</a></li>
</ul>
您应该调用该操作来设置ng中的$scope.showDropDown
。ie使用函数设置值
JS
$scope.showDropDownFunction = function(e){
alert('show drop down');
$scope.showDropDown=true;
// as stanleyxu2005 said if you want a toggle effect (hide/show)
// menu on each click, use
//$scope.showDropDown= !$scope.showDropDown;
//instead
e.stopPropagation();
}
HTML
<ul class="dropdown-menu" ng-show='showDropDown'>
<li><a href="#">Edit</a></li>
<li><a href="#">Delete</a></li>
</ul>
<button ng-click='showDropDownFunction()'> show menu </button>
<ul class="dropdown-menu" ng-show='showDropDown'>
<li><a href="#">Edit</a></li>
<li><a href="#">Delete</a></li>
</ul>
显示菜单
所以这里发生的是我们点击按钮时显示ul
请参阅文档:
PS:签出最后一个示例。无需声明函数
<button ng-click="showDropDown=true" >Show Drop Down</button>
<ul class="dropdown-menu" ng-show="showDropDown">
<li><a href="#">Edit</a></li>
<li><a href="#">Delete</a></li>
</ul>
显示下拉列表
如果您想要切换效果,@AsimKT的解决方案是可以的。我还建议您检查angular strap,这是一个很棒的angular bootstrap实现。您根本不需要自己编写这样的逻辑。我建议您为ng click和ng show指定不同的名称。这将非常令人困惑。一旦showDropDown
设置为true
,它将永远不会重置为false
。你们确定这行得通吗?问题的作者想知道为什么ng秀不起作用。我试图保留原始代码。否则$scope.showDropDown=$scope.showdown代码>将有助于切换菜单的可见性。我编辑了答案。:)您可以创建JSFIDLE或plunker吗。下拉列表根本不可见抱歉,已将showDropDownFunction更改为showDropDownFunction()。