2013-06-20 6 views
0

Angular.js를 처음 사용합니다. 따라서 내 작업 흐름이 잘못 될 수 있습니다.Angular.js - 컨트롤러에서보기로 데이터를 전달하는 방법

어떻게 내가보기에 컨트롤러에서

  1. NG-보기 데이터를 전달 않는다 ->는 사용자가 제출 '버튼을 클릭하면, 내가 컨트롤러에서 $ HTTP를 사용하여 제출 옥에게
  2. 를 사용하여 HTML 페이지를 표시합니다 요청을 서버에 보냅니다.
  3. 서버가 다른 뷰로 전달해야하는 필요한 데이터를 반환합니다.

위의 코드에서 내 코드

function TrackController($scope,$http,$location,MessageFactory){ 
    $scope.message = MessageFactory.contactMessage(); 

    $scope.submit = function() { 
    var FormData = { 
     'track_applicationid': $scope.track_applicationid, 
     'track_email': $scope.track_email 
    } 
    $http({method: 'POST', url: '/track', data: FormData}). 
     success(function(data, status, headers, config) { 
     $scope.registeredDate = 'data.REGISTERED_DATE'; 
     $scope.filedDate = data.FILED_DATE; 
     $location.path('trackMessage'); 
     }). 
     error(function(data, status, headers, config) { 
     console.log('error'); 
     }); 
} 
} 

, 내가보기를 trackMessage하는 registeredDate 및 filedDate를 전달하려는.

+0

보기에서 {{registeredDate}}가 자동으로보기를 업데이트하면 각도 배열에서 데이터 바인딩을 공부하는 것이 좋습니다. –

+0

게시하기 전에 시도했습니다. 그것은 작동하지 않았다. 위의 코드를 보면 {{message}}가 올바르게 작동합니다. $ http.success 함수 안에있는 {{registeredDate}}를 삽입하면 작동하지 않습니다. – Vinoth

+0

왜 성공 방법으로 location.path를 추가합니까? –

답변

0

의견을 검토 한 후 두 개의보기에 하나의 컨트롤러가 사용되는 것으로 알고 있습니다. 값을 $scope.registeredDate$scope.filedDate으로 설정하려면 루트 범위 (권장되지 않음) 또는 각도 값을 사용하여 전역으로 해당 개체를 선언해야합니다.

두 개의 다른 컨트롤러를 사용하는 것이 좋습니다.

관련 문제