2014-12-20 2 views
1

여기에서 답변을 찾았지만 찾지 못했습니다. 단지 잘못된 것을 검색 할 수 있습니다!jquery를 앵귤러 http 요청에 삽입하십시오.

각도 값 http.get을 통해 json 데이터를로드 한 후 일부 jquery를 실행하려고합니다. 문제는 내가 jquery를 작동시킬 수 없다는 것과 아무도 이유를 알았는지 궁금해했다는 것입니다.

요청이 정상적으로 작동하고 데이터가로드됩니다. 작동하지 않는 것은 $('.verb').fadeIn(600);입니다. console.log이 정상적으로 작동합니다.

DOM에 요소가로드되기 전에 실행하려는 jquery와 관련이 있다는 의심이 들지만 jquery를 배치 할 때마다 작동하지 않습니다.

내가 가진 코드는 다음과 같습니다 모든

(function() { 
    var app = angular.module('verbsApp', []); 

    app.controller("PostsCtrl", function ($scope, $http) { 
     $http.get('data/verbData.min.json'). 
     success(function (verbData) { 

      $('.verb').fadeIn(600); 
      console.log('success'); 

      $scope.passedData = verbData.data; 
      console.log($scope.passedData); 
     }). 
     error(function (verbData) { 
      // log error 
      console.log('error'); 
     }); 

    }); 

})(); 
+3

망가 jQuery를하고 각도를 믹스! 데이터가 돌아올 때 적용되는 CSS 전환을 사용해야합니다 ('ng-class'). 그러나 데이터를 할당하기 전에'fadeIn'을 호출하는 것이 문제 일 수 있습니다. – tymeJV

+0

'eval ($ scope.passedData)'을 시도해 보셨습니까? – OnlyMAJ

+0

또한 'ng-animate'를 보시길 바랍니다 – charlietfl

답변

1

첫째, 당신은, jQuery & angularJS 혼합중인 당신이해야하지. 두 번째로 Angular의 ngShow은 이벤트를 기반으로 요소를 쉽게 표시/숨길 수 있습니다.

기본적으로 컨트롤러에 있습니다.

$scope.showVerb = false; 
$http.get(…).success(function (result) { 
    … 
    $scope.showVerb = true; 
    … 
}); 

그러면 HTML도 이에 상응합니다.

<div class="verb" ng-show="showVerb"> 
    … 
</div> 
당신은 표시/숨기기 애니메이션을 선택할 수 있습니다

: http://scotch.io/tutorials/javascript/animating-angular-apps-ngshow-and-nghide

+0

고마워요. 그건 대접이야. Cant는 움직이기 위하여 움직이기 위하여 얻는다. 쇼 애니메이션에 대한 구문을 알 수 있습니까? 내가 본 모든 예제는 클릭 또는 호버 이벤트에 의존하는 반면, 애니메이션을 페이지로드시 트리거하려고합니다. 이것은 아마도 다른 질문 일 것입니다. 많은 감사합니다. – Clay

+0

애니메이션 부분에 대한 답을 찾았습니다. [link] (http://stackoverflow.com/questions/11679567/using-css-for-fade-in-effect-on-page-load) – Clay