لقد قمت بترقية اثنين من المشاريع إلى 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 أو مشكلة في الكود الخاص بي هنا وأتساءل عما إذا كان بإمكانك توجيهي في اتجاه حيث يمكنني النظر في هذا أبعد من ذلك.
حسنًا ، يبدو أنه من المحتمل أن يكون مرتبطًا بإعدادك (لم ير هذا الأمر من قبل الآخرين) ، هل يمكنك محاولة عزله في تطبيق تجريبي أصغر لتسهيل تعقبنا؟
القليل من البحث واكتشفت أن هذا يحدث فقط في الخدمات التي استخدمت فيها خدمة التوجيه الخاصة: routing: service('-routing')
.
يؤدي استبدالها بـ router: service()
إصلاح مشكلتي ولكن هل يوجد في أي مكان يتم فيه توثيق ذلك؟ كان لدي انطباع بأن خدمة الموجه العام ما زالت آتية.
التعليق الأكثر فائدة
القليل من البحث واكتشفت أن هذا يحدث فقط في الخدمات التي استخدمت فيها خدمة التوجيه الخاصة:
routing: service('-routing')
.يؤدي استبدالها بـ
router: service()
إصلاح مشكلتي ولكن هل يوجد في أي مكان يتم فيه توثيق ذلك؟ كان لدي انطباع بأن خدمة الموجه العام ما زالت آتية.