在 AngularJS 中显示和隐藏

show and hide in angularjs

本文关键字:隐藏 显示 AngularJS      更新时间:2023-09-26

问题问题 -

我正在尝试使用 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(数据)也会像这样(对象 {})

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

好吧,如果你的响应是一个空对象,那么if(data !=null || data != 'undefined')将不起作用 - 它将永远是真的。

事实上,该条件将始终为真,因为没有对象可以同时为 null 和"未定义"。

您的 Angular 部分看起来不错,但您需要修复您的 JS 条件。最简单的解决方法是修改您的服务以返回 false 它没有数据。

看看它是如何永远正确的:

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