_๊ธฐ๋ฅ_์ ์์ฒญํ์๊ฒ ์ต๋๊น? ์๋๋ฉด _๋ฒ๊ทธ_๋ฅผ ๋ณด๊ณ ํ์๊ฒ ์ต๋๊น?
๋ฒ๋ .
ํ์ฌ ํ๋์ ๋ฌด์์
๋๊น?
NgModelController#$setViewValue(value, trigger)
๋ฅผ ํธ์ถํ๋ฉด ngModelOptions
์๊ฑฐ๋ ngModelOptions#updateOnDefault
๊ฐ true์ธ ๊ฒฝ์ฐ์๋ง $$debounceViewValue()
NgModelController#$setViewValue(value, trigger)
๊ฐ ํธ์ถ๋ฉ๋๋ค.
์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐ
ํ์ฌ ๋์์ด ๋ฒ๊ทธ์ธ ๊ฒฝ์ฐ https://plnkr.co ๋๋ ์ด์ ์ ์ฌํ ๋ฐฉ๋ฒ(ํ
ํ๋ฆฟ: http://plnkr.co/edit/tpl:yBpEi4)์ ํตํด ์ฌํ ๋จ๊ณ์ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ฌธ์ ์ ์ต์ ๋ฐ๋ชจ๋ฅผ ์ ๊ณต
๋ฐ๋ชจ
๋ ๋ฒํผ์ ๋ชจ๋ ํด๋ฆญํ๋ฉด NgModelController
๋ชจ๋ ์
๋ฐ์ดํธ๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค.
{updateOn: 'blur'}
๊ฐ ์๋ ์ฌ๋์ ์ค๋งํ์ง ์์ต๋๋ค.
์์๋๋ ๋์์ ๋ฌด์์
๋๊น?
NgModelController#$setViewValue(value, trigger)
๋ฅผ ํธ์ถํ๋ฉด ngModelOptions#updateOn
trigger
ํฌํจ๋ ๊ฒฝ์ฐ ngModelOptions#updateOn
$$debounceViewValue()
๋ ํธ์ถ๋ฉ๋๋ค.
ํ๋์ ๋ฐ๊พธ๋ ๋๊ธฐ/์ฌ์ฉ ์ฌ๋ก๋ ๋ฌด์์
๋๊น?
์์๋๋ก ์๋ํ๊ฒ ํ๋ ค๋ฉด :grin:
์ด๋ค ๋ฒ์ ์ Angular์ ์ด๋ค ๋ธ๋ผ์ฐ์ /OS๊ฐ ์ด ๋ฌธ์ ์ ์ํฅ์ ๋ฐ์ต๋๊น? ๋ํ ์ต์ ์์ ๋ฐ ์ค๋
์ท(https://code.angularjs.org/snapshot/) ๋ฒ์ ์ผ๋ก ํ
์คํธํ์ญ์์ค.
1.5.7์์๋ง ์๋ํ์ง๋ง ๋ง์ ๋ฒ์ ์ ์ํฅ์ ๋ฏธ์น ๊ฒ์
๋๋ค.
๊ธฐํ ์ ๋ณด(์: ์คํ ์ถ์ , ๊ด๋ จ ๋ฌธ์ , ํด๊ฒฐ ๋ฐฉ๋ฒ ์ ์)
์๋์ค : ํผ๋์ค๋ฝ์ต๋๋ค:
๊ทธ๊ฒ์ ํ์คํ ์ณ์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์ํ ์ ์ ๋ ๋ฒ์งธ ๋ฒํผ์ ๋๋ฅด๊ณ ์ฒซ ๋ฒ์งธ ๋ฒํผ์ ํด๋ฆญํ๋ฉด 4๊ฐ๊ฐ ๋ชจ๋ ์ ๋ฐ์ดํธ๋๋ค๋ ๊ฒ์ ๋๋ค!
๋ ๋ฒ์งธ ๋ฒํผ์ ๋๋ฅธ ํ ์ฒซ ๋ฒ์งธ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋ํ๋ ์ด์ ๋ ๋ฒํผ ํด๋ฆญ์ผ๋ก ํธ๋ฆฌ๊ฑฐ๋๋ ๋ค์ด์ ์คํธ ๋๋ฌธ์
๋๋ค. ๋ค์ด์ ์คํธ๋น ngModel
watch-action์ด ์คํ๋์ด ๊ฐ์ ๋๊ธฐํํฉ๋๋ค( ์ฌ๊ธฐ ์ฐธ์กฐ).
๋ฌธ์ ๋ ์ด๊ฒ์ด ๋ค์ด์ ์คํธ ์ธ๋ถ์์ ๋ฐ์ํ ๋์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ด์ ์คํธ ๋ด๋ถ์์๋ ๊ฐ์ ์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ์ ๊ฐ์ด ๋๊ธฐ์ ์ผ๋ก ์
๋ฐ์ดํธ๋์ง ์์ต๋๋ค( updateOnDefault === true
).
BTW, ์ด๊ฒ์ gitter ์ ๋ํ @jeserkin๊ณผ์ ํ ๋ก ์ ๋ถ์ฐ๋ฌผ์ด์๊ณ ๊ทธ๋ ๊ทธ๊ฒ์ ๋ํด ๊ด์ฌ์ ํ๋ช ํ์ต๋๋ค. (๋ป๋ปํ๊ฒ) ๊ทธ๋ฅผ ์ํด ์ ์ฅํฉ๋๋ค :stuck_out_tongue:
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
BTW, ์ด๊ฒ์ gitter ์ ๋ํ @jeserkin๊ณผ์ ํ ๋ก ์ ๋ถ์ฐ๋ฌผ์ด์๊ณ ๊ทธ๋ ๊ทธ๊ฒ์ ๋ํด ๊ด์ฌ์ ํ๋ช ํ์ต๋๋ค. (๋ป๋ปํ๊ฒ) ๊ทธ๋ฅผ ์ํด ์ ์ฅํฉ๋๋ค :stuck_out_tongue: