2014-12-12 2 views
0

Проблема Вопрос -показать и скрыть в angularjs

Я пытаюсь использовать нг-шоу и нг-шкура, но я не знаю, где я делаю mistake.When мой объект пуст, не скрывая 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

+0

Это ваш полный код? Кроме того, '' но не делает то, что мне нужно ''... мы не знаем, что вам нужно. – Shomz

+0

Вы уверены, что ваша функция getMoney() была вызвана? У вас есть сообщения журнала в консоли браузера? – demas

+0

@demas да, он называется – GeekOnGadgets

ответ

0

Ну, если ваш ответ приходит как пустой объект, то if(data !=null || data != 'undefined') не будет работать - это всегда будет правдой.

Фактически, это условие будет ВСЕГДА быть истинным, потому что объект no может быть как null, так и 'undefined' в то же время.

Ваша угловая часть кажется прекрасной, но вам нужно исправить свои условия JS. Простейшим решением было бы изменить вашу службу, чтобы вернуть false, что нет данных.

Посмотрите, как это всегда так:

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

+0

. Каким образом можно проверить пустой объект в угловом? Я пробовал разные вещи, но пока не повезло. спасибо – GeekOnGadgets

+0

Ничего не связанного с угловым здесь, это простая проблема с js: http://stackoverflow.com/questions/4994201/is-object-empty?lq=1 – Shomz

+0

Проще всего было бы вернуть ложь или проверить что-то вы знаете, что это произошло после успешного звонка. Скажем, вы знаете, что у вас будет 'data.json' при успешном вызове, тогда вы просто проверяете его:' if (data.json) {... ' – Shomz

Смежные вопросы