Ember.js: 3.0.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•œ ํ›„ `transitionTo` ์˜ค๋ฅ˜

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

์ง€๊ธˆ ๋ช‡ ๊ฐœ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ 3.0.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์œผ๋ฉฐ ๊ทธ ์ค‘ ํ•˜๋‚˜๋Š” ์ •์ƒ์ด์ง€๋งŒ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” transitionTo ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

router.js:1011 Uncaught Error: More context objects were passed than there are dynamic segments for the route: projects
    at NamedTransitionIntent.applyToHandlers (router.js:1011)
    at NamedTransitionIntent.applyToState (router.js:940)
    at Router.getTransitionByIntent (router.js:1229)
    at Router.transitionByIntent (router.js:1348)
    at doTransition (router.js:1947)
    at Router.transitionTo (router.js:1418)
    at Class._doTransition (router.js:561)
    at Class.transitionTo (routing.js:18)
    at session.save.then.s (session.js:104)
    at tryCatcher (rsvp.js:215)

applyToHandlers ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

var objects = this.contexts.slice(0);
// ...
if (objects.length > 0) {
  throw new Error('More context objects were passed than there are dynamic segments for the route: ' + targetRouteName);
}

๋””๋ฒ„๊ฑฐ๋กœ ๋ณด๋ฉด ์–ด๋–ค ์ด์œ ๋กœ ์ด๊ฒƒ์„ ๋‘ ๋ฒˆ ํ†ต๊ณผํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ ์ฒซ ๋ฒˆ์งธ ํŒจ์Šค์—์„œ objects ๋Š” [] ์ž…๋‹ˆ๋‹ค(์—ฌ๊ธฐ์— ๋™์  ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ž˜์•ผ ํ•จ). ๋‘ ๋ฒˆ์งธ๋Š” ๊ธธ์ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‹คํŒจํ•œ [undefined] ์ž…๋‹ˆ๋‹ค.

๋‚ด ๋‹ค๋ฅธ ์•ฑ์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณด๋‹ˆ Ember์™€ ํ•จ๊ป˜ ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๋ฅผ ๊ฒช์—ˆ๋Š”์ง€ ์•„๋‹ˆ๋ฉด ์—ฌ๊ธฐ ๋‚ด ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ๋” ์กฐ์‚ฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

Needs Reproduction

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

์•ฝ๊ฐ„์˜ ํƒ์ƒ‰์„ ํ†ตํ•ด ์ด๊ฒƒ์ด ๊ฐœ์ธ ๋ผ์šฐํŒ… ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์„œ๋น„์Šค์—์„œ๋งŒ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค: routing: service('-routing') .

router: service() ๋กœ ๊ต์ฒดํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€๋งŒ ์ด๊ฒƒ์ด ๋ฌธ์„œํ™”๋œ ๊ณณ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ณต๊ณต ๋ผ์šฐํ„ฐ ์„œ๋น„์Šค๊ฐ€ ์•„์ง ์˜ค์ง€ ์•Š์•˜๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

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

ํ , ์•„๋งˆ๋„ ๊ท€ํ•˜์˜ ์„ค์ •๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋ณด๊ณ ํ•œ ์ ์ด ์—†์Œ). ์ €ํฌ๊ฐ€ ๋” ์‰ฝ๊ฒŒ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋” ์ž‘์€ ๋ฐ๋ชจ ์•ฑ์œผ๋กœ ๋ถ„๋ฆฌํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์•ฝ๊ฐ„์˜ ํƒ์ƒ‰์„ ํ†ตํ•ด ์ด๊ฒƒ์ด ๊ฐœ์ธ ๋ผ์šฐํŒ… ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•œ ์„œ๋น„์Šค์—์„œ๋งŒ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค: routing: service('-routing') .

router: service() ๋กœ ๊ต์ฒดํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€๋งŒ ์ด๊ฒƒ์ด ๋ฌธ์„œํ™”๋œ ๊ณณ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ณต๊ณต ๋ผ์šฐํ„ฐ ์„œ๋น„์Šค๊ฐ€ ์•„์ง ์˜ค์ง€ ์•Š์•˜๋‹ค๋Š” ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

@artcommacode ์˜ˆ, 2.15 ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ๊ฒŒ์‹œ๋ฌผ ์—์„œ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋‹ซ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

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