ng-show不在angularjs中工作

时间:2015-09-11 13:27:01

标签: angularjs

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

表达式{{showSubHeader}}从true变为false,false变为true就好了。

showSubHeader有一个布尔值。

showSubHeader=trueshowSubHeader=false

通过角度来获取值变化。当我更改值时,我在控制台中看到ng-show表达式发生了变化,但即使它是ng-show =&#34; false&#34;它也不会隐藏元素。

我该如何解决这个问题?什么看似不对?&gt;

编辑:draggable是一个如下所示的指令:

.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})
  }

2 个答案:

答案 0 :(得分:0)

尝试:

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

答案 1 :(得分:0)

您可以尝试隔离ng-show:

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