angularjs factory 예제

angularjs factory 예제

공장의 이름을 함수 매개 변수로 사용하고 있습니다. 사실, 우리는 컨트롤러에 우리 자신의 창조를 주입하고 있습니다. 국가는 공장에서 반환되는 개체입니다. 또한 우리는 같은 목록을 사용 하 고 있습니다.목록, 그리고 목록은 공장에서 정의 됩니다. 다음은 ASP.NET 웹 API 서비스에 대한 GET, PUT, POST 및 DELETE 호출을 처리하는 팩터리의 예입니다. 팩터리는 서버에 대한 호출을 처리하는 개체를 만듭니다. 팩터리는 데이터 로 작업하거나 비즈니스 규칙의 유효성을 검사하거나 다양한 다른 작업을 수행하는 데 사용할 수 있는 개체를 만들고 반환하는 일을 담당합니다. 각도 팩터리는 기본적으로 단일 톤이므로 팩터리에서 반환되는 개체는 응용 프로그램에서 다시 사용됩니다. 서비스는 기본적으로 AngularJS 응용 프로그램에서 코드를 공유할 수 있는 방법입니다. 예를 들어 RESTful API와 상호 작용하는 응용 프로그램이 있다고 가정해 보면 일반적으로 해당 API와 상호 작용하는 데 필요한 모든 기능을 포함하는 개체를 반환하는 팩터리를 만듭니다. 이제 팩터리 에서 컨트롤러를 만들어 ASP.NET 웹 API 서비스를 호출할 수 있습니다. 다음은 데이터 검색 및 조작을 위해 dataFactory에 의존하는 customersController라는 컨트롤러의 예입니다.

모든 dataFactory 함수는 then() 함수를 사용하여 컨트롤러에 의해 해결되는 약속을 반환합니다. 데이터가 팩터리에서 반환되면(작동한다고 가정) $scope 업데이트되어 사용자 인터페이스를 구동합니다. 공장과 서비스의 주요 차이점 중 하나는 공장에서 사용자 지정 코드를 실행할 수 있다는 것입니다. 그러나 서비스는 개체 생성에만 사용할 수 있습니다. 즉, 팩터리는 인수가 0개 이상인 함수를 사용하여 새 서비스를 생성합니다(다른 서비스에 대한 종속성입니다). 이 함수의 반환 값은 팩터리에서 만든 서비스 인스턴스입니다. 모듈이 정의되면 응용 프로그램에 대한 라우팅을 구성하는 데 사용됩니다. 이 작업은 $routeProvider 개체를 허용하는 모듈의 config() 함수를 호출하여 수행됩니다. 이 간단한 예제에서는 루트 경로를 처리하기 위해 단일 경로가 정의되지만 $routeProvider.when() 함수를 사용하여 추가 경로를 정의할 수 있습니다. 글렌: 감사합니다 – 게시물이 도움이되었다 다행.

관찰자 패턴에 관해서는 속성에 시계를 설정하고 변경될 때 알림을 받을 수 있습니다. 이렇게 하면 컬렉션에서 항목을 제거한 다음 시계의 백 엔드 업데이트를 처리할 수 있습니다. 이 $scope.$watch(`yourProperty`), 기능(oldVal, newVal) { console.log(oldVal, newVal); //Act 여기에 변경 }, true); 컬렉션의 변경 사항을 자동으로 처리하기 위해 시계 프로세스에 공장을 묶어 두는 것이 좋을 것입니다. 좀 더 생각해 볼 게요. 댄 내가 오랜 시간에 사용 한 최고의 튜토리얼 중 하나. 잘 했어요. 아마도 공장 서비스 접근 방식의 장단점에 대한 자세한 정보일 것입니다. 정말 고마워요! 나는 서비스 및 공장 이 어떻게 작동하고 컨트롤러 Hey Dan과 연결하는 방법을 볼 수 있습니다, 당신은 $resource 여러 프린지 케이스무엇을 의미합니까? 예를 들어 주시겠어요? 프로덕션 환경에서 사용하는 것이 좋다고 생각하십니까? 이것은 anulgar의 서비스 및 공장으로 시작하는 훌륭한 튜토리얼입니다 … 달콤하고 작은 폭발물을 주셔서 감사합니다 … 자습서를 만들어 주셔서 감사합니다.

누락 된 것 같다 한 가지, 그리고 사실 내가 자습서를 읽은 이유는, 공장 대 서비스를 사용하는 시기에 대한 질문에 대한 대답이었다? 다른 사용 사례보다 더 선호되는 경우 다른 사용 사례를 제공할 수 있습니까? 팩터리는 함수를 쉽게 반환할 수 있는 것처럼 보이며, 이는 서비스와 동일하게 만들 수 있습니다(이 올바른가요).