显示并隐藏在angularjs中

时间:2014-12-12 03:09:00

标签: javascript angularjs

问题 -

我正在尝试使用ng-show和ng-hide但我不知道我在哪里犯错。当我的对象为空时它不会隐藏div。

有人可以指导我,非常感谢

//这是我的观点

<div class="main" ng-controller="myCtrl">
 <div ng-show="show">
      Show me as json object is not empty
 </div>
 <div ng-hide="show">
     hide me as my json object is empty
 </div>
</div>

//我的控制器

 myCtrl();

        function myCtrl() {
            Service.getMoney()
                .success(function (data) {
                    if(data !=null || data != 'undefined'){
                        $scope.data = data;
                        $scope.show= true;
                        console.log(cart);
                    }
                    else{
                       $scope.show= false;
                   }
                })
                .error(function (status, data) {
                    console.log(status);
                })
        };

请指导我在哪里弄错了。如果它是空的

,我的json(数据)就像这样(Object {})

更新答案:这与ng-show和ng-hide无关。我必须检查我的json对象 if (data.value) //感谢@shomz

1 个答案:

答案 0 :(得分:0)

好吧,如果您的回复是空对象,那么if(data !=null || data != 'undefined')将无法正常工作 - 它将永远属实。

事实上,这种情况总是如此,因为没有对象可以是空的,并且未定义的&#39;在同一时间。

你的Angular部分似乎很好,但是你需要修复你的JS条件。最简单的解决方法是修改您的服务以返回false,因为没有数据。

了解它总是如此:

&#13;
&#13;
alert({} != null || {} != 'undefined');
&#13;
&#13;
&#13;