메뉴 구성

todo 컴포넌트를 생성.

app.module.ts에 라우팅 path를 설정한다.

app.component.html에 메뉴 링크 추가하고 좌우 화면 폭을 줄인다.

이제 todo 메뉴를 누르면 todo works가 보여야 한다.

 

화면 구성

할일 목록 보기 화면을 구성한다.

 

객체 정의

먼저 postman으로 REST api를 테스트하고 리턴되는 결과를 보고 받을 객체를 정의한다.

domain폴더를 추가하고 todo.vo.ts 화일에 다음과 같이 타입을 정의한다.

 

서비스 구현

REST api 프로토콜 규격서에 있는 그대로 프로토콜과 메서드를 구현한다.

Get 메서드는 body가 없으므로 첫번째 파라메터에 프로토콜만 넣어준다.

리턴타입은 Json Array에 TodoVo 객체로 넘어오므로 TodoVo[] 타입으로 정의한다. 리턴 타입을 정의하면 컴포넌트에서 호출해서 불러쓰기가 쉽다.

 

서비스 호출 및 모델 생성

생성자로 서비스를 주입받고,  ngOnInit()에서 서비스를 호출한다. request의 body 부분이 리턴되므로 body부분을 todoList에 넣는다.

제대로 받았는지 개발자 콘솔에서 확인해보자.

 

모델을 뷰에 바인딩하기

jquery의 경우는 모델 데이터를 가져왔으면 모델 데이터로 다시 뷰를 직접 만들어서 원하는 노드에 삽입하였다.  jquery에서는 이 코드가 전체의 절반이상을 차지할 정도로 아주 번거로운 작업이다.

컴포넌트 기반 개발 방식은 뷰를 조작하는게 아니라 모델 정보를 업데이트하고 모델과 뷰를 바인딩 시킨다는 개념을 기억하자.

이미 모델을 생성하였고, 이제 뷰를 모델 데이터와 바인딩 시키기만 하면 된다. ngFor를 이용한 반복문과 interpolation ({{}})문법을 이용하여 바인딩하자.