AngularJS 앱에 문제가 있습니다. 일부 컨트롤러 (필요한 경우)에 주입되는 일부 공장을 정의했습니다. 내 문제는 이러한 팩토리가 처음 응용 프로그램을 시작할 때 초기화된다는 것입니다. 서비스의시작시 AngularJS 서비스/팩토리가로드되고 사용되지 않음
하나 일으키는 문제 :
PlanningPoker.factory('PokerTable', function ($http) {
var baseURL = "/api/pokertable/";
return {
list: function list(playerId) {
return $http.get(baseURL, {params: {playerid : playerId}});
},
save: function save(pokertable) {
return $http.post(baseURL, pokertable, {});
}
};
});
이 서비스 제어기에서 같이 사용된다 :
PlanningPoker.controller('PokerTableListController', function ($rootScope, $scope, $route, PokerTable, SocketEvent) {
PokerTable.list($rootScope.playerId).
success(function (data, status, headers, config) {
$scope.pokertables = data;
});
});
또한 컨트롤러 콜백에서 PokerTable 서비스를 제거하면 서비스가 호출됩니다. 서비스에 console.log를 추가하여이 작업을 시도했지만 서비스가 모든 컨트롤러에서 사용되었는지 여부에 관계없이 호출되었습니다.
그것에 대한 아이디어가 있습니까? 서비스가 필요할 때만 지연되어로드 될 것이라고 생각했습니다.
그들이 종속성을 해결하기 위해 인젝터에 의해 주입 할 때 마크
아니요, 지연되지 않습니다. 엄격하게 의존성 관리입니다. – Narretz
도움을 많이 주셔서 감사합니다. – mooonli