2013-06-22 3 views
0

처음으로 angularjs로 작업하고 데이터가 조금 느리게로드됩니다. 기본적으로 사용자가 작업 편집을 선택하면 웹 서비스에 액세스하여 작업의 데이터를 반환합니다. 또한 페이지에 3 개의 드롭 다운이 있으므로 데이터를 반환하기 위해 서비스에 액세스해야합니다.angularjs를 사용하여 편집 페이지에 데이터를로드하는 올바른 방법은 무엇입니까?

페이지 표시의 작업이 채 웁니다 데이터, 다음 드롭 다운에 대한 데이터를 입력 한 번에 한.

어떻게 모든 데이터가로드 될 때까지 템플릿을 표시하는 것을 기다릴 수 있습니까? 또는 동시에 데이터를로드 할 수 있습니까?

angular.module('App.Services', ['ngResource']) 
.factory('Task', function($resource, baseUrl) { 
    return $resource(baseUrl+'/tasks/:id', {'id': '@id'}, { 
    }); 
}) 
.factory('Vendor', function($resource, baseUrl) { 
    return $resource(baseUrl+'/vendors/:id', {'id': '@id'}, { 
    }); 
}) 
.factory('Statue', function($resource, baseUrl) { 
    return $resource(baseUrl+'/states/:id', {'id': '@id'}, { 
    }); 
}) 
+0

[Angular.js 지연 컨트롤러 초기화] (http://stackoverflow.com/questions/12356185/angular-js-delaying-controller-initialization?rq= 1) – Stewie

답변

1

당신은 결의를 사용할 수 있습니다 여기에 서비스가

$scope.task = Task.get({ id: taskId }, function() { 
     $scope.vendor.terms = Term.query('', function() { 
      $scope.vendor.states = State.query(); 
     }); 
    }); 

: 여기

데이터를지고 코드의 예입니다. app.js에서 원하는 경로를 설정하는 속성입니다. 기본적으로 컨트롤러가 인스턴스화되고보기가로드되기 전에 해결되어야하는 약속 목록입니다. egghead.io에서이 비디오를 확인하십시오. 스크린 캐스트 link

관련 문제