Ember.js: `{{action (mut propertyName) "newPropertyValue"`๊ฐ€ ์ž˜๋ชป๋œ ์†์„ฑ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2016๋…„ 03์›” 11์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: emberjs/ember.js

http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_get ์— ์„ค๋ช…๋œ ๋Œ€๋กœ mut ๋„์šฐ๋ฏธ ๋‚ด์—์„œ action mut action ๋„์šฐ๋ฏธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<!-- factName is set to "height" and should be changed to "weight" -->
<button {{action (mut factName) "weight"}}>Show weight</button>

๊ทธ๋Ÿฌ๋‚˜ factName ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋Œ€์‹  Ember๋Š” factName ์˜ ํ˜„์žฌ ๊ฐ’์„ ๋”ฐ์„œ ๋ช…๋ช…๋œ ์ž‘์—…์„ ํ˜ธ์ถœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

error Script error. (line 0)
ember.debug.js:44562 Uncaught Error: Nothing handled the action 'height'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.

์ด๊ฒƒ์ด ๋ฒ„๊ทธ์ธ์ง€ ์•„๋‹ˆ๋ฉด mut ๋„์šฐ๋ฏธ๊ฐ€ ๊ทธ๋Ÿฐ ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋„๋ก ์˜๋„๋œ ์ ์ด ์—†๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค: http://emberjs.jsbin.com/radogusojex

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@rwjblue ๊ฐ€ ์ œ์‹œํ•œ ์†”๋ฃจ์…˜ ์™ธ์—๋„ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<button {{action (action mut factName) "weight")}}>Show weight</button>

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋‹น์‹ ์˜ JS Bin์„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค: http://emberjs.jsbin.com/qavaki/1

๋ชจ๋“  4 ๋Œ“๊ธ€

์š”์†Œ ๊ณต๊ฐ„ ์ž‘์—… ๊ตฌ๋ฌธ์ด ์ด๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๋™์ž‘์— ๋Œ€ํ•ด ํด๋กœ์ € ์ž‘์—…์„ ์‚ฌ์šฉํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

<button onclick={{action (mut factName) "weight"}}>Show weight</button>

๊ธ€์Ž„, ๊ทธ ๊ฒฝ์šฐ ๋ฌธ์„œ๋Š” ๊ทธ๊ฒƒ์„ ๋ฐ˜์˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด์ „์— ๋„ˆ๋ฌด ๊ฐ‘์ž‘์Šค๋Ÿฌ์›Œ์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ๊ตฌํ˜„์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(์‹ค์ œ๋กœ ์ง€์›ํ•˜๋ ค๋Š” ๊ฒƒ์ด ์•„๋‹˜). ๋‚˜๋Š” ํŠน๋ณ„ํ•œ ์ผ€์ด์Šค (์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” mut ๋„์šฐ๋ฏธ๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ๊ดœ์ฐฎ์•„ ๋ณด์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์š”์†Œ ๊ณต๊ฐ„ ์•ก์ธ„์–ธ์˜ ์šด๋ช…์œผ๋กœ์„œ ์šฐ๋ฆฌ๊ฐ€ ์˜๋„ํ•˜๋Š” ๋ฐ”๋ฅผ ์กฐ๊ธˆ ๋” ์ „์ฒด์ ์œผ๋กœ ๊ฒฐ์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค...

@rwjblue ๊ฐ€ ์ œ์‹œํ•œ ์†”๋ฃจ์…˜ ์™ธ์—๋„ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<button {{action (action mut factName) "weight")}}>Show weight</button>

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ๋‹น์‹ ์˜ JS Bin์„ ํŽธ์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค: http://emberjs.jsbin.com/qavaki/1

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰