为什么ng-show在角度不正常?

时间:2016-06-30 03:58:55

标签: javascript angularjs angularjs-directive angularjs-scope

我想在用户点击图标时显示下拉列表。我使用...但它没有显示下拉菜单选项。

  • 我制作了一个图标$scope.showDropDown=function(e){ alert('show drop down'); $scope.showDropDown=true; e.stopPropagation(); } 。点击我尝试使用ng-show打开下拉菜单。但是它没有显示原因?

这是我的代码

http://codepen.io/naveennsit/pen/pbPJEN

  <ul class="dropdown-menu" ng-show='showDropDown'>
                    <li><a href="#">Edit</a></li>
                    <li><a href="#">Delete</a></li>

                </ul>

HTML

db.Set<ProductNote>().AddOrUpdate(productNote);
db.SaveChanges();

2 个答案:

答案 0 :(得分:3)

您应该调用操作以在ng-click中设置$scope.showDropDown。即使用函数来设置值。

<强> 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

 <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。

请参阅文档:https://docs.angularjs.org/api/ng/directive/ngShow PS:结帐最后一个例子。

答案 1 :(得分:0)

无需声明函数

 <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>