Angular.js: ๋น„๋™๊ธฐ module.run() ์ง€์›

์— ๋งŒ๋“  2013๋…„ 09์›” 13์ผ  ยท  62์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: angular/angular.js

๋ชจ๋“ˆ ์‹คํ–‰ ๋ธ”๋ก์—์„œ ๋ช‡ ๊ฐ€์ง€ $http ํ˜ธ์ถœ์„ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด์ƒ์ ์œผ๋กœ๋Š” ์‹คํ–‰์ด $http ๋ฐ ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋œ ํ›„์—๋งŒ ์™„๋ฃŒ๋˜์–ด์•ผ dom ์ปดํŒŒ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Lots of comments won't fix feature

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

jfcfxekzl5m
๊ธฐ๋Šฅ์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๐Ÿ˜•

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

์ด๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์ง€๋งŒ ์‚ดํŽด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Jasmine์ด ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๊ณ  ํ”Œ๋ž˜๊ทธ๊ฐ€ true ๋กœ ์„ค์ •๋˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๊นŒ์ง€ ์ฝœ๋ฐฑ์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

var flag = false;
$http(...).success(flag = true);
$timeout(function () {
    flag = true;
    // Or add some error handling stuff here
}, 5000);
while (!flag) {};

์•„๋ฆ„๋‹ต์ง€๋Š” ์•Š์ง€๋งŒ ์ผ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์œ„์˜ ์ฝ”๋“œ๋Š” ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์•ฝ๊ฐ„ ์ˆ˜์ •ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ๋Šฆ์–ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์˜ˆ์œ ๋ฌด์–ธ๊ฐ€๊ฐ€ ์˜ฌ ๋•Œ๊นŒ์ง€ ๋ญ”๊ฐ€๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

+1

๊ทธ๋Ÿฌ๋‚˜ ์ž ์‹œ ํ›„ ๊ฐ๋„ ์ง€์‹œ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ‹์ง„ ๋กœ๋”ฉ ํ™”๋ฉด์„ ๊ทธ๋ฆด ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค...

+1

$routeProvider with resolve ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์ œ๊ฐ€ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์„ ์ˆ˜๋„...

์ด๊ฒƒ์€ ๋น„๋™๊ธฐ ๋ชจ๋“ˆ ์ดˆ๊ธฐํ™” ์ง€์›์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์—์„œ ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@shahata $routeprovider ๊ฐ€ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ run s์˜ ๋ชจ๋“  ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‚ด ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ๋Š” ์ง€์‹œ๋ฌธ์„ ๋ž˜ํ•‘ํ•˜๊ณ  ๊ฒฝ๋กœ์™€ ์•„๋ฌด ๊ด€๋ จ์ด ์—†๋Š” ๋ชจ๋“ˆ์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

+1

์‹คํ–‰ ํ•จ์ˆ˜๊ฐ€ ์•ฝ์†์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ํ™•์ธํ•œ ๋‹ค์Œ ํ•ด๊ฒฐ๋  ๋•Œ๋งŒ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. runBlocks ๋Š” ํ•จ์ˆ˜์˜ ๋ฐฐ์—ด์ด๋ฏ€๋กœ ์ „ํ˜€ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

+1

+1 ๋ฌด์‹œ๋‹นํ•ด์„œ ๋‹นํ™ฉ

์ด๊ฒƒ์ด ์–ธ์ œ ์ฐฉ๋ฅ™ํ•  ๊ฒƒ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ผ์šฐํ„ฐ์—์„œ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ดˆ๊ธฐํ™” ํ•ญ๋ชฉ์„ ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ๋‹ต๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ์ดˆ๊ธฐํ™” ์ฝ”๋“œ๊ฐ€ URL์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(์‚ฌ์šฉ์ž๊ฐ€ SPA์— ๋„์ฐฉํ•˜๋Š” ๋ชจ๋“  ์œ ํ˜•์˜ URL์— ๋Œ€ํ•ด ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•จ).

๋‚˜๋Š” Angular๊ฐ€ ์•ž์œผ๋กœ ์–ด๋–ค ๊ฐœ์„  ์‚ฌํ•ญ๋„ ๋ฐ›์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ชจ๋‘ Angular 2.0์— ์ถ”๊ฐ€๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์ฏค ์‚ฌ์šฉ๋œ run ๋ฉ”์„œ๋“œ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ๋™๊ธฐ์‹์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๊นŒ? $http ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณต๊ธ‰์ž๊ฐ€ ์—†์ง€๋งŒ run ๋Š” ์ง€์›ํ•˜๋ฏ€๋กœ config ๊ฐ€ ๋น„๋™๊ธฐ ํ˜ธ์ถœ์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ๊ดœ์ฐฎ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์˜ ๋ถ€์กฑ(์ฒ˜์Œ๋ถ€ํ„ฐ ์กด์žฌํ–ˆ์–ด์•ผ ํ•จ)์ด ์ผ์œผํ‚ค๋Š” ํ•ดํ‚น ์œ ํ˜•์„ ์‚ดํŽด๋ณด์„ธ์š”.
https://github.com/philippd/angular-deferred-bootstrap/blob/master/src/deferred-bootstrap.js

๋ถ€๋„๋Ÿฝ๋‹ค

+1

@btford ๋Š” ์ด์™€ ๊ด€๋ จ๋œ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ๋‚ด๋ถ€ ์‹คํ–‰ ๋ธ”๋ก์ด ์•„๋‹Œ ์ƒˆ ๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด ์–ด๋–ป๊ฒŒ ์ง€์›๋  ์ˆ˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

+1

+1

+1

+1

์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง„ ์ฃผ์š” ๋ฌธ์ œ๋Š” runBlocks๊ฐ€ ์‹คํ–‰๋  ๋•Œ ๋กœ๋“œ๋˜๋Š” ๋ชจ๋“ˆ ๋‚ด๋ถ€์— $q ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ๋“  ์„œ๋น„์Šค(๋˜๋Š” ์•„๋งˆ๋„ ๋ชจ๋“ˆ)์˜ "์ผ๋ถ€"๋ฅผ ์ถ”์ถœํ•˜๊ณ  ๊ทธ๊ฒƒ๋“ค์„ ๋จผ์ € ์ƒ์„ฑํ•œ ๋‹ค์Œ $q๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ๋‚˜๋จธ์ง€ ๋ชจ๋“ˆ(๋ฐ ์„œ๋น„์Šค, ์‹คํ–‰ ๋ธ”๋ก ๋“ฑ)์„ ๋กœ๋“œํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ํŒจ์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@lgalfaso - ์ด๋ฒˆ ์ฃผ ํ›„๋ฐ˜(๋˜๋Š” ๋‹ค์Œ ์ฃผ) $injector ์ž‘์—…์˜ ์ผ๋ถ€๋กœ ์ด๊ฒƒ์„ ์ข€ ๋” ์‚ดํŽด๋ณด์‹ค ์ˆ˜ ์žˆ์„๊นŒ์š”?

๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋‹จ์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ๋„ ui ๋ผ์šฐํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํ•ด๊ฒฐ๊ณผ ํ•จ๊ป˜ ๋ฃจํŠธ ์ถ”์ƒ ์ƒํƒœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ถ€ ๋น„๋™๊ธฐ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋…ผ๋ฆฌ๋ฅผ ๊ฐ–๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฃจํŠธ ์ถ”์ƒ ์ƒํƒœ๋Š” ํ•ญ์ƒ ๋จผ์ € ํ•ด๊ฒฐ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ์„ค์ •์„ ๋กœ๋“œํ•˜๊ณ  ๋กœ๋“œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ํ‘œ์‹œํ•˜๋Š” ๋“ฑ์˜ ์ž‘์—…์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์ •๋ง ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
:+1:
์ด ์ˆ˜์ •์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 1.4์— ๋‚˜์™”์œผ๋ฉด ์ข‹๊ฒ ๋‹ค

+1

๋‹ค๋ฅธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘ ์‹œ $http ํ˜ธ์ถœ๋กœ ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋œ ๋์ ์„ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ์บ์‹œํ•˜๊ธฐ ์œ„ํ•ด)...

+1

+1

์ด๊ฒƒ๋„ ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ”๋‹ค...

@petebacondarwin ๋‹ค๋ฅธ ๋ชจ๋“  ๋ชจ๋“ˆ์„ ๊ณ„์† ๋กœ๋“œํ•ด๋„ ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์ดˆ๊ธฐ ํƒ์ƒ‰ ์‹œ์ž‘์„ ์—ฐ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

๋˜๋Š” $routeProvider๋Š” ์ดˆ๊ธฐ ๊ฒฝ๋กœ ๋ Œ๋”๋ง์„ ์—ฐ๊ธฐํ•ด์•ผ โ€‹โ€‹ํ•˜๋Š” ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

+1

+1

๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. http://plnkr.co/edit/vi7mDjmD4NpZAoP7MVzr?p=preview
์•„์ด๋””์–ด๋Š” Angular๊ฐ€ ์‹ค์ œ๋กœ ๋ชจ๋“ˆ ์„ธํŠธ์—์„œ ์ž์‹ ์˜ ์ธ์ ํ„ฐ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋งŽ์€ ์•ฝ์†( resolves )์ด ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ $rootElement ์ปดํŒŒ์ผ์„ ์ง€์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ POC์ด๋ฉฐ ์ด ํ”„๋กœ๋•์…˜์„ ์ค€๋น„ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋งŽ์€ ๋‹ค๋ฅธ ์ข…์†Œ๋ฆฌ์™€ ํœ˜ํŒŒ๋žŒ์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒƒ ์™ธ์—๋„ ํ•ด๊ฒฐ์—์„œ ์˜ค๋ฅ˜๋ฅผ ์‚ผํ‚ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์žก์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

+1

์ด๊ฒƒ์€ ๋Œ€๋ถ€๋ถ„ ์‹œ๋„ํ•ด ๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์„ ์œ„ํ•œ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์˜จ์ „์„ฑ ๊ฒ€์‚ฌ
  • $rootElement ๋Œ€ํ•ด ์ƒ์‚ฐ๋œ ๊ฒƒ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ์ธ์ ํ„ฐ ์ƒ์„ฑ
  • $rootElement ์ปดํŒŒ์ผ ๋ฐ ๋งํฌ

๋งจ ์œ„์— ์ธ์ ํ„ฐ๋ฅผ ๋งŒ๋“ค ๋•Œ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ข…์†์„ฑ ๋ชจ๋“ˆ ํŠธ๋ฆฌ ์ˆœํšŒ ๋ฐ

    • ๋ชจ๋“ˆ ์ƒ์ˆ˜, ๊ฐ’, ๊ณต๊ธ‰์ž ๋ฐ ๊ธฐํƒ€ ํ•ญ๋ชฉ์„ ๋“ฑ๋กํ•˜๋Š” ๋ชจ๋“ˆ ์ดˆ๊ธฐํ™”

    • ๊ตฌ์„ฑ ๊ธฐ๋Šฅ ์‹คํ–‰

    • ๋‚˜์ค‘์„ ์œ„ํ•ด run ํ•จ์ˆ˜ ์ˆ˜์ง‘

  • ๋ชจ๋“  run ๊ธฐ๋Šฅ ์‹คํ–‰

๋ช‡ ๊ฐ€์ง€ ํ•ต์‹ฌ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ชจ๋“  run ๋ธ”๋ก์€ $rootElement ๊ฐ€ ์ปดํŒŒ์ผ๋˜๊ธฐ ์ „์— ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • ์ธ์ ํ„ฐ ์ƒ์„ฑ ํ”„๋กœ์„ธ์Šค์—๋Š” ๋‹ค์ด์ œ์ŠคํŠธ ์‚ฌ์ดํด์ด ์—†์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋‹ค์ด์ œ์ŠคํŠธ ์‚ฌ์ดํด์€ $rootElement ์˜ ์ดˆ๊ธฐ ์ปดํŒŒ์ผ ์ค‘์ž…๋‹ˆ๋‹ค.
  • $q ๋Š” ๋‹ค์ด์ œ์ŠคํŠธ ์ฃผ๊ธฐ _only_ ๋™์•ˆ ์•ฝ์†์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€:

  • ํ”„๋ผ๋ฏธ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” run ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š” ๋ชจ๋“ˆ์ด ์žˆ๊ณ  ์•ฑ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ํ”„๋ผ๋ฏธ์Šค๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ดˆ๊ธฐ ์ปดํŒŒ์ผ ์ „์— ๋‹ค์ด์ œ์ŠคํŠธ ์ฃผ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค(์ด๋กœ ์ธํ•ด ๊ธฐ์กด ์•ฑ์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Œ)
  • config ํ•จ์ˆ˜๊ฐ€ ์ธ์Šคํ„ด์Šค๊ฐ€ ์•„๋‹Œ ๊ณต๊ธ‰์ž์™€ ํ•จ๊ป˜ ์ฃผ์ž…๋˜๋ฏ€๋กœ ๊ตฌ์„ฑ ๋ธ”๋ก์€ ์•ฝ์†์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜์ด ๋ฌด์—‡์ด๋“  ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

+1
์–ด๋–ค ๋‰ด์Šค?
์•ฑ์ด ์‹ค์ œ๋กœ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ผ๋ถ€ ๊ตฌ์„ฑ ์„ค์ •์„ ๋กœ๋“œํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

+1

๋ชจ๋“  ๊ณต์žฅ์ด ๊ฐ€๋™๋˜๊ณ  ์ปดํŒŒ์ผ๋˜๊ธฐ ์ „์— ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ํ›„์— ์ผ๋ถ€ ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

@dagingaa : ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ท€ํ•˜์˜ ์†”๋ฃจ์…˜์„ ์„ ํƒํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค! ๊ฐ์‚ฌ ํ•ด์š”

  • 1

@dagingaa ์—…๋ฐ์ดํŠธ: for ๋ฃจํ”„๊ฐ€ ๋‚ด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ •์ง€

https://jsfiddle.net/tuxmachine/t4d63vnw/

์ด๊ฒƒ์ด ๋‚˜๋จธ์ง€ ์•ฑ์„ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์ „์— ์ดˆ๊ธฐ ajax ํ˜ธ์ถœ์„ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” OAuth ํ† ํฐ ๊ตฌํ˜„์„ ์œ„ํ•ด ํ•ด๊ฒฐํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋น„๋™๊ธฐ ์‹คํ–‰ ๋ธ”๋ก์ด ์žˆ์œผ๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

+1

+1

+1

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ์ง€ 2๋…„์ด ์ง€๋‚ฌ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์ด ์—†์Šต๋‹ˆ๋‹ค.

@vladmiller ์†”๋ฃจ์…˜์ด ์žˆ์ง€๋งŒ ์•„๋งˆ๋„ ๊ทธ๋“ค์ด ์ข‹๋‹ค๊ณ  ๋Š๋ผ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ngRoute ๋˜๋Š” ui-router๋ฅผ resolves์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์ฝ”๋“œ๋ฅผ ์ตœ์ƒ์œ„ ๊ฒฝ๋กœ ์•ˆ์— ๋„ฃ์Šต๋‹ˆ๋‹ค.
  • ์ž์‹ ์˜ ๋น„๋™๊ธฐ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. https://github.com/angular/angular.js/issues/4003#issuecomment -113842180 ์ฐธ์กฐ
  • ์ตœ์ƒ์œ„ ๊ตฌ์„ฑ ์š”์†Œ์— $onActivate ๊ฐ€ ์žˆ๋Š” ์ƒˆ ๊ตฌ์„ฑ ์š”์†Œ ๋ผ์šฐํ„ฐ ์‚ฌ์šฉ

์ค‘์š”ํ•˜์ง€ ์•Š์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์—…์„ .run ๋ธ”๋ก ์•ˆ์— ๋„ฃ์œผ๋ฉด ์ฝ”๋“œ๋ฅผ ๋‹จ์œ„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ฒฉ๋ คํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๊ตฌํ˜„ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋Š” ๊ฒƒ์œผ๋กœ ์ด๊ฒƒ์„ Ice Box๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@petebacondarwin ๋‚˜๋Š” ๋‹น์‹ ์—๊ฒŒ ๋™์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์€ Angluar๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ผ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  ์ž์‹ ์˜ ๋น„๋™๊ธฐ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋ชจ๋“ˆ์ด๋‚˜ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋ชจ๋“ˆ์„ ๋‹ค๋ฅธ ์œ„์น˜์— ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ์ด๊ฒƒ์ด ๊ฐ๋„๋ฅผ ๋” ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋˜ํ•œ .run ๋น„๋™๊ธฐ ์ฝ”๋“œ๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ๋” ์–ด๋ ต๊ฒŒ ๋งŒ๋“ ๋‹ค๋Š” ๊ฒƒ์ด ๋ฌด์Šจ ๋œป์ธ์ง€ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์ด์ „์˜ ๋ฌด๋ก€ํ•œ ๋Œ“๊ธ€์— ๋Œ€ํ•ด ์‚ฌ๊ณผ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
๊ฐ์‚ฌ ํ•ด์š”

@petebacondarwin ํ…Œ์ŠคํŠธ๋ฅผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ .run ๋ธ”๋ก ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š”์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด http ๋ฐฑ์—”๋“œ ๋ชจ์˜์—์„œ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ /๋ชจ์˜/๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ ์‹คํ–‰ ๋ถ€์กฑ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์ธํ•ด ์ฝ”๋“œ๊ฐ€ ๊ฐ๋„ ์™ธ๋ถ€์— ์กด์žฌํ•˜๋ฉด ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ์ง€๋‚ด์š”?

๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹: http://plnkr.co/edit/8XGSNOzzRGvgNSSnXx3M?p=preview

@petebacondarwin ์†”๋ฃจ์…˜์ด ์ €์—๊ฒŒ

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ๊ณ  ์ง€์›ํ•˜๋Š” ๋น„๋™๊ธฐ ์‹คํ–‰ ๋ธ”๋ก์€ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์— ๋ณต์žก์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฏ€๋กœ ์ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

jfcfxekzl5m
๊ธฐ๋Šฅ์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๐Ÿ˜•

์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด +1

+1

+1

@petebacondarwin ์†”๋ฃจ์…˜์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

+1. :(

+1

+1

+1

+1

์šฐ๋ฆฌ๋Š” ์ด๊ฒƒ์„ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

+100, ๋ชจ๋“  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋”์ฐํ•ฉ๋‹ˆ๋‹ค.

@Eduardo-Julio - AngularJS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ์„ ํ›จ์”ฌ ๋” ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. + ๋” ์ถ”๊ฐ€ํ•ด๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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