Angular.js: Angular๋Š” ํŽ˜์ด์ง€์˜ ํŠน์ • ์š”์†Œ๋กœ ์Šคํฌ๋กคํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2010๋…„ 11์›” 01์ผ  ยท  10์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: angular/angular.js

๋‹จํŽธ ์‹๋ณ„์ž(ํ•ด์‹œ)๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธด ํŽ˜์ด์ง€์˜ ํŠน์ • ์œ„์น˜์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ๊ฐ€ ๊ฒฝ๋กœ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๋„์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠน์ • ์š”์†Œ๋กœ ํŽ˜์ด์ง€๋ฅผ ์•„๋ž˜๋กœ ์Šคํฌ๋กคํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ œ๊ณต๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

๋„ค, ๊ทธ๋Ÿฌ๋ฉด $location๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์ฒ˜๋Ÿผ ํ•ด์‹œ๋„ ์ง€์›ํ•˜๋ฏ€๋กœ $location.hash()๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ํ•ญ๋ชฉ์œผ๋กœ ์Šคํฌ๋กคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค...

์ด๊ฒƒ์€ ์ด๋ฏธ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. $location์ด html5 ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒฝ์šฐ $ href="#anchor" ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค.

์ฃ„์†กํ•˜์ง€๋งŒ html5 ๋ชจ๋“œ๊ฐ€ ์•„๋‹ˆ๋ฉด ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ? ์ฐธ์กฐ๋ฅผ ์œ„ํ•ด ์ด ๋‘ ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
http://jsfiddle.net/gabrielstuff/SdGnR/ ๋ผ์šฐํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์•ต์ปค ๋งํฌ๋ฅผ ๋Š์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ
http://jsfiddle.net/gabrielstuff/nYxFg/ ๋ผ์šฐํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋™์ผํ•œ ํŽ˜์ด์ง€๋ฅผ ๋”ฐ๋ผ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ HTML5๋กœ ์‹œ๋„ํ•˜์ง€ ์•Š์€ ๊ฒƒ์€๋ณ„๋กœ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค (๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ํ‹ฐ์ผ“์ž…๋‹ˆ๋‹ค)

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์•ˆ๊ณ ์žˆ์–ด. html5 ๋ชจ๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ•ด์‹œ๋ฑ… ๋ชจ๋“œ์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ๊นŒ์š”?

๋‚˜๋Š”์ด ํ–‰๋™์ด ๋งค์šฐ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๊ฒƒ์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ HTML5 ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋”๋ผ๋„ Angular๋Š” ์•ต์ปค์™€ ํ•จ๊ป˜ ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘์„ ์ค‘๋‹จํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Angular๋Š” ์–ด์จŒ๋“  ๋ช…์‹œ์  ํ•ด์‹œ๊ฐ€ ์žˆ๋Š” ๋งํฌ๋ฅผ ๋ฌด์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. HTML5๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ <a href="/something"... ๋งํฌ๋Š” ์ž๋™์œผ๋กœ /#/something ๋กœ ๋‹ค์‹œ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค( _self ๋Œ€์ƒ์œผ๋กœ ํ•˜์ง€ ์•Š๋Š” ํ•œ). ๋”ฐ๋ผ์„œ <a href="#something" ๋Š” ํ‹€๋ฆผ์—†์ด ํ•ญ์ƒ /#something ๋กœ ๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

+1

๊ทธ๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด anchorScroll ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@IgorMinar ๊ฐ€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋ ์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์™„์ „ํžˆ ์ง€์›๋˜์ง€ ์•Š๋Š” ๊ตฌ์‹ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•  ํ•„์š”๋Š” ์—†๋‹ค๊ณ  ์ฃผ์žฅํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์•ต์ปค ๋งํฌ๊ฐ€ history API๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž‘๋™ํ•ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๋‹ต๋ณ€์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. #/route1์— ์žˆ์œผ๋ฉด #/route1#anchor์— ์žˆ๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์–ธ๊ธ‰๋œ ํ•ดํ‚น(http://www.benlesh.com/2013/02/angular-js-scrolling-to-element-by-id.html)์€ ๊ดœ์ฐฎ์•„ ๋ณด์ด์ง€๋งŒ ์ด๊ฒƒ์ด "๊ทธ๋ƒฅ ์ž‘๋™"ํ•œ๋‹ค๋ฉด ์ด์ƒ์ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด์จŒ๋“  $anchorScroll ํ•ดํ‚น์ด ํ•ด๊ฒฐ์ฑ…์ด๋ผ๋ฉด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์ด์ „ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ( http://stackoverflow.com/a/15935517/2071612 ) ํ›Œ๋ฅญํ•œ ์†”๋ฃจ์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

BTW, $location.hash() ๋…๋ฆฝ์ ์ธ ์Šคํฌ๋กค ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด PR(#9596)์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.

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