CHAPTER 11. Services
Intro
Angular 2๋ ์๋น์ค ๊ฐ๋ ์ ํฌํจํ๋ค. ์ฆ, ๋ค๋ฅธ ํด๋์ค์ ์ฃผ์ ํ ์์๋ ํด๋์ค์ด๋ค. ๋ช ๊ฐ์ง ์๋น์ค๋ ํ๋ ์ ์ํฌ์์ ์ ๊ณตํ๊ณ ์ผ๋ถ๋ ๊ณตํต ๋ชจ๋๋ก ์ ๊ณตํ๊ณ ๋ค๋ฅธ ์๋น์ค๋ ์ฌ์ฉ์๊ฐ ์์ฑํ ์ ์๋ค. ์ฐ๋ฆฌ๋ ํ์ ์ ์ธ ์ฅ์์ ๊ณตํต ๋ชจ๋์ ์ํด ์ ๊ณต๋๋ ๋ชจ๋์ ๋ณผ ๊ฒ์ด๋ค. ๋ฐ๋ก ์ง๊ธ, ํต์ฌ ์์๋ฅผ ์ดํด๋ณด๊ณ ์ฐ๋ฆฌ๊ฐ ์ด๋ป๊ฒ ์ฐ๋ฆฌ๋ฅผ ๊ตฌ์ถ ํ ์ ์๋์ง ์์ ๋ณด์.
Title service
์ฝ์ด ํ๋ ์ ์ํฌ๋ ๊ทนํ ๋ช๊ฐ์ ์๋น์ค ๋ฐ์ ์ ๊ณตํ์ง ์๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ฌผ๋ค. ์ค์ ๋ก ํ์ฌ ํ๋ ๋ฐ์ ์๋ค :). ์์ฃผ ์ธ๊ธ ๋๋ ์ง๋ฌธ ์ค ํ๋๋ ํ์ด์ง์ ์ ๋ชฉ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฝ๊ฒ! ๋น์ ์ด ์ฃผ์ ํ ์์๋ Title ์๋น์ค๊ฐ ์๊ณ getter์ setter ๋ฉ์๋๋ฅผ ์ ๊ณตํ๊ณ ์๋ค.
์ด ์๋น์ค๋ ํ์ํ ์ ๋ชฉ์ ์๋์ผ๋ก title ์์๋ฅผ ๋ง๋ค๊ณ ๊ฐ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ํ๋ค.
Making your own service
AngularJS 1.x์ฒ๋ผ, ์๋น์ค๋ ์ฑ๊ธ ํค์ด๋ฏ๋ก, ๊ฐ์ ํด๋์ค์ ์ธ์คํด์ค๊ฐ ์ฌ๋ฐฉ์ ์ฃผ์ ๋๋ค. ๋ฐ๋ผ์ ์๋น์ค๋ ๋ฌด๊ด ํ ์ฌ๋ฌ ๊ตฌ์ฑ ์์๊ฐ์ ์ํ๋ฅผ ๊ณต์ ํ๊ธฐ ์ํ ํ๋ณด์ด๋ค. ์๋น์ค์ ์ข ์์ฑ์ด ์๋ ๊ฒฝ์ฐ ๊ทธ ์์ @Injectable () ์ฅ์์ ์ถ๊ฐํด์ผ ํ๋ค. ์ด ์ฅ์์ด ์์ผ๋ฉด ํ๋ ์ ์ํฌ๋ ์์กด์ฑ ์ฃผ์ ์ ํ์ง ์๋๋ค. ์ฐ๋ฆฌ์ RacesService๋ ๋งค๋ฒ ๊ฐ์ ๋ชฉ๋ก์ ๋ฐํ ๊ฒ์ด ์๋๋ผ REST API์์ ๋ ์ด์ค๋ฅผ ๊บผ๋ผ ์ ์๋ค. HTTP ์์ฒญ์ ์คํํ๊ธฐ ์ํด ํ๋ ์ ์ํฌ๋ Http ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค. ์ฐ๋ฆฌ์ ์๋น์ค๋ Http์ ์์กดํ์ฌ race๋ฅผ ๊ฐ์ ธ ์ค๋ฏ๋ก, Http ์๋น์ค๋ฅผ ์ธ์๋ก ์ฌ์ฉํ์ฌ ์์ฑ์๋ฅผ ์ถ๊ฐํ๊ณ ํด๋์ค์ @Injectable () ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ถ๊ฐํด์ผ ํ๋ค.
๊ทธ๋ฐ ๋ค์ ์ด๋ฅผ ๊ตฌ์ฑ ์์์ ๊ณต๊ธ์ ์์ฑ์ ์ถ๊ฐํ๊ฑฐ๋ ๋ณด๋ค ํ์ค์ ์ผ๋ก ๋ฃจํธ ๋ชจ๋์ ๊ณต๊ธ์์ ์ถ๊ฐ ํด์ผํ๋ค.
์ด์ ๋ ๋ชจ๋ ๊ฒ์ ํ ์คํธํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณผ ํ์๊ฐ ์๋ค!
Reference URL
Last updated