2015-09-11 50 views
1
{{showSubHeader}} 
      <div ng-show="showSubHeader" class="topPull" draggable > 
      <button class="button-icon ion-bag"></button> 
          </div>  
     </div> 

表达式{{showSubHeader}}从true变为false并且false变为true就好了。ng-show不能在angularjs中工作

showSubHeader有一个布尔值。

showSubHeader=true即或showSubHeader=false

改变正在由角度拾取的值。当我改变该值时,我在控制台中看到ng-show表达式发生了变化,但即使它是ng-show =“false”,它也不会隐藏该元素。

我该如何解决这个问题?似乎什么错>

编辑:拖动是一个指令,它看起来像这样:

.directive('draggable', function ($animate) { 
    return function(scope, element) { 
     var startX = 0, startY = 0, x = 0, y = 0; 

     var el = element[0]; 
     console.log(el) 
     el.draggable = true; 
     element.css({ 
     position: 'relative', 
     cursor: 'pointer' 
     }); 
     el.addEventListener(
      'dragstart', 
      function(e) { 


      element.addClass("animated slideInDown") 
       return false; 
      }, 
      false 
     ); 

     el.addEventListener(
      'dragend', 
      function(e) { 

      element.addClass("animated slideInUp") 
      scope.checkBill(); 
       return false; 
      }, 
      false 
     ); 
    } 
}) 

checkBill

$scope.checkBill= function(){ 
    $scope.$apply(function(){ 
     $scope.showSubHeader=false; 

    }) 
    $state.go('menu.TotalBill', {}, {inherit: true, notify:true}) 
    } 
+0

只是让一个jsfiddle,并意识到它的工作原理;) –

+0

你的topPull类在做什么? –

+0

必须是别的... –

回答

0

你可以尝试找出NG - 显示:

<div ng-show="showSubHeader"> 
    <div class="topPull" draggable > 
     <button class="button-icon ion-bag"></button> 
    </div>  
</div> 
+0

它仍然是一样的:( –

+0

尝试反转逻辑,使用ng-hide =“!showSubHeader”...或尝试使用ng-if。 –

+1

我有一个脚本cdn,我已经添加了一些时间,基本上它干扰它,删除它,一切都修复了。谢谢你的帮助:) –

0

尝试:

<div ng-show="showSubHeader === true" class="topPull" draggable > 
     <button class="button-icon ion-bag"></button> 
</div>  
+0

仍然一样.. –

+0

和ng-show =“showSubHeader ==='true'”? ng-show =“showSubHeader!== false”? – Fky