Ionic3에 입문해 본다~그 7 Angular4 튜토리얼⑤~
서비스
HeroesComponent에 데이터까지 기재되어 있다.
HeroesComponent로부터 데이터를 분리하여 유닛 테스트 등을 쉽게 할 수 있도록 한다.
왜 서비스가 필요한가?
컴포넌트 내에서 직접 데이터를 얻거나 저장해서는 안됩니다.
물론 고의로 임시 데이터를 전달해서는 안됩니다.
컴퍼넌트는 데이터의 전달에 집중해, 그 외의 처리는 서비스 클래스에 위양해야 합니다.
구성 요소 정의
htps : // 이 m / 폽 ky_ 세 / ms / 3 97506 81
컴포넌트 = 컴포넌트
요컨대 화면을 구성하는 부품.
그래서 실제로 표시되는 데이터 자체는 독립시켜 봅시다!
아래에서 응용 프로그램 전체에서 영웅을 얻을 수있는 HeroService를 만듭니다.
그 서비스는 new 로 생성하는 것이 아니라 Angular 에 의한 의존성의 주입 (소위 DI) 로 HeroesComponent 생성자 에 주입합니다.
DI에 대해서는 아래 등을 참조하십시오.
htps : // m / h shi / ms / 1136087 1c6 5c5b0d9f
요컨대, 여기에서는 단순히 데이터의 분리를 의미하고 있는 것 같습니다.
HeroService 만들기
ionic CLI로 작성해 봅시다.
명령은 다음과 같습니다.
ionic generate provider hero
service가 아니라 provider입니다. 조심하세요.
아래와 같이 작성되었는지 확인하십시오.
영웅 데이터 획득
HeroService는 다양한 위치에서 영웅 데이터를 검색할 수 있습니다. — 외부 웹 서비스, 로컬 스토리지 또는 모의 데이터일 수 있습니다.
컴퍼넌트로부터 데이터 취득 로직을 분리한다는 것은, 그러한 서비스측의 사정에 얽매이지 않고, 언제라도 구현 방침의 변경을 할 수 있는 것을 의미하고 있습니다. 컴퍼넌트측은, 서비스가 어떻게 움직이고 있어도 상관없습니다.
이 장의 구현은 여전히 모의 영웅을 사용합니다.
아래와 같이 변경합니다. (클래스 이름은 HeroProvider로 남겨 둡니다)
덧붙여 디폴트의 constructor 은 httpClient 를 사용하므로 일단 코멘트 아웃했습니다. (다음 정도의 튜토리얼에 나옵니다)
HeroService 제공
의존성 주입할 수 있도록 하는 운명의 이야기가 있습니다만, generate provider로 작성한 경우는 벌써 아래와 같이 등록되어 있을 것입니다.
HeroesComponent 업데이트 및 주입
HeroesComponent도 함께 바꾸어 갑시다.
HEROES 가져오기를 제거하고 대신 HeroService(HeroProvider)를 가져옵니다.
heroes 속성 정의를 간단한 배열 선언으로 바꿉니다.
한층 더 getHeroes()를 추가해, Service(Provider)로부터 히어로를 읽어들이도록(듯이) 합니다.
그리고 마지막으로 ngOnInit에서 getHeroes 메소드 호출을 작성합니다.
여기까지 실제로 serve 해 보고 확인하면, 변함없이 동작할 것입니다.
모의 히어로를 사용해 주고 있으므로, 표시는 아무것도 바뀌지 않습니다만….
Reference
이 문제에 관하여(Ionic3에 입문해 본다~그 7 Angular4 튜토리얼⑤~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tokky_se/items/31fda1604f9749ae7575
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Ionic3에 입문해 본다~그 7 Angular4 튜토리얼⑤~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tokky_se/items/31fda1604f9749ae7575텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)