Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么ng show在角度上不能正常工作?_Javascript_Angularjs_Angularjs Directive_Angularjs Scope - Fatal编程技术网

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打开下拉菜单。但它没有显示原因
这是我的密码

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>

您应该调用该操作来设置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()。