$ emit, $ broadcast ๋๋ $ on์ ์ฌ์ฉํ์ฌ ์ด๋ฒคํธ๋ฅผ ๊ฒ์ํ๊ณ ๊ตฌ๋ ํ ๋ ์ด๋ฌํ ์ฉ๋๋ฅผ ๊ณต์ฅ์ผ๋ก ์ด๋ํ๊ณ ์ปจํธ๋กค๋ฌ์์ ํธ์ถํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
์๊ฐ ์์ต๋๊น?
$ scope ๋ฉ์๋๊ฐ ํ์ํ ๊ฒฝ์ฐ $ scope๋ฅผ ์ฝ์ ํด์ผํฉ๋๋ค.
ํ๋์ ์ปจํธ๋กค๋ฌ์์ this์ $ scope๋ฅผ ์ฌ์ฉํด๋ ๊ด์ฐฎ์ต๋๊น?
ํ์คํ ํ ์ ์์ต๋๋ค. "controller as"๋ฅผ ์ฌ์ฉํ๋ ์ฅ์ ์ค ํ๋๋ $ scope๊ฐ ๋ง์ ์์ ์ ์ํํ๋ค๋ ๊ฒ์ ๋๋ค. Controller As๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์ธก๋ฉด์ ๋ณ๋๋ก ์ ์ง ํ ๋ค์ ๋ค๋ฅธ ์์ ์ ํ์ํ ๋๋ง $ scope๋ฅผ ์ฝ์ ํฉ๋๋ค.
์ปจํธ๋กค๋ฌ์์ $ scope๊ฐ ํ์ํ ๊ฒฝ์ฐ ๋จผ์ ์ด๊ฒ์ด ์ ๋ง๋ก ํ์ํ์ง ํ์ธํ๊ณ , ํ์ํ ๊ฒฝ์ฐ ๋ธ๋ก๋ ์บ์คํธ / ๋ฐ์ ๊ณผ ๊ฐ์ ์๋น์ค๋ก ์ถ์ํํฉ๋๋ค. ๊ทธ๋์ ๋น์ ์ ๊ฒฝ์ฐ์๋ ์ฌ์ ํ ๊ทธ๊ฒ์ ์ถ์ํ ํ ๊ฒ์ ๋๋ค.
๋ง์! ๊ฐ์ฌํฉ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํ์คํ ํ ์ ์์ต๋๋ค. "controller as"๋ฅผ ์ฌ์ฉํ๋ ์ฅ์ ์ค ํ๋๋ $ scope๊ฐ ๋ง์ ์์ ์ ์ํํ๋ค๋ ๊ฒ์ ๋๋ค. Controller As๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์ธก๋ฉด์ ๋ณ๋๋ก ์ ์ง ํ ๋ค์ ๋ค๋ฅธ ์์ ์ ํ์ํ ๋๋ง $ scope๋ฅผ ์ฝ์ ํฉ๋๋ค.
์ปจํธ๋กค๋ฌ์์ $ scope๊ฐ ํ์ํ ๊ฒฝ์ฐ ๋จผ์ ์ด๊ฒ์ด ์ ๋ง๋ก ํ์ํ์ง ํ์ธํ๊ณ , ํ์ํ ๊ฒฝ์ฐ ๋ธ๋ก๋ ์บ์คํธ / ๋ฐ์ ๊ณผ ๊ฐ์ ์๋น์ค๋ก ์ถ์ํํฉ๋๋ค. ๊ทธ๋์ ๋น์ ์ ๊ฒฝ์ฐ์๋ ์ฌ์ ํ ๊ทธ๊ฒ์ ์ถ์ํ ํ ๊ฒ์ ๋๋ค.