2016-04-06 6 views
1

У меня есть кнопка, которую я хочу переключить с ng-show на основе значения моего идентификатора.angularjs вызывает объекты и возвращаемые значения

in my javascript Я вызываю функцию service on on, а затем использую их из другой функции.

Моя проблема при использовании ng-click Я могу вернуть правильный идентификатор, но при использовании ng-init он возвращает значение как неопределенное.

Как вызывать и определять значение Id из события «onload», такого как ng-init?

HTML

<button type="button" class="col button button-small button-dark" ng-click="showMe(ph);" ng-init="showMe(ph);"> 
     Check In 
    </button> 

Javascript Service Получить

$scope.PhaseData = function(Truck) { 


      var TruckID = window.localStorage['truckid']; 

      $http.get("http://localhost:53101/TruckService.svc/GetStatusA/" + TruckID) 
      .success(function(data) { 

      var PhaseID = null; 
      var obj = data; 
      var ar = []; 
      angular.forEach(obj, function(index, element) { 

      angular.forEach(index, function(indexN, elementN) {     

      ar.push({PId: indexN.PId, PhaseId: indexN.fk_Phase, Checkin: indexN.Checkin, Chassis: indexN.ChassisPrep, Floor: indexN.Floor, Body: indexN.Body, Paint: indexN.Paint, PhaseName: indexN.PhaseName }); 

       $scope.ph = ar; 
      /* $scope.PHID = 1; indexN.PId*/ 

      }) 

     }); 

     }) 

     .error(function(data) { 
      console.log("failure"); 
      })  

     }; 

функция

$scope.showMe = function(ph) 
    { 

    console.log('2', $scope.ph[0].PId); 
    console.log('cool'); 

    if ($scope.ph[0].PId >= 1) 
    { 
     $scope.show=true; 
    } 

    else if($scope.ph[0].PId <= 2) 
    { 
     $scope.show=false; 
    } 

    } 
+0

Вы делаете это от нг-контроллера? Если вы, вы можете сделать $ scope.showMe непосредственно из контроллера вместо использования ng-init. Это также предлагается angular-js: https://docs.angularjs.org/api/ng/directive/ngInit – kazenorin

ответ

0

Изменить код для этого, может быть ваш HTML визуализации, прежде чем значение приходит

<button ng-if="ph" type="button" class="col button button-small button-dark" ng-click="showMe(ph);" ng-init="showMe(ph);">Check In</button> 
+0

да, это сделало это благодаря. –

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