Ember.js: Kesalahan dengan `transitionTo` sejak memutakhirkan ke 3.0.0

Dibuat pada 26 Mar 2018  ·  3Komentar  ·  Sumber: emberjs/ember.js

Saya telah memutakhirkan beberapa proyek ke 3.0.0 sekarang dan sementara salah satunya baik-baik saja, yang lain melempar kesalahan setiap kali saya menelepon transitionTo , seperti

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)

Sepertinya masalahnya ada di 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);
}

Dari melihatnya dengan debugger tampaknya melewati ini dua kali untuk beberapa alasan, dan pada pass pertama objects adalah [] (sebagaimana seharusnya karena tidak ada segmen dinamis di sini) tetapi pada yang kedua adalah [undefined] yang gagal dalam validasi panjang.

Melihat saya tidak mendapatkan masalah ini di aplikasi saya yang lain, saya tidak yakin apakah saya telah menemukan kasus tepi dengan Ember atau masalah dengan kode saya sendiri di sini dan saya ingin tahu apakah Anda dapat mengarahkan saya ke arah mana Saya bisa melihat ini lebih jauh.

Needs Reproduction

Komentar yang paling membantu

Sedikit menggali dan saya menemukan ini hanya terjadi di layanan di mana saya telah menggunakan layanan perutean pribadi: routing: service('-routing') .

Menggantinya dengan router: service() memperbaiki masalah saya, tetapi apakah ada tempat yang didokumentasikan? Saya mendapat kesan bahwa layanan router publik masih akan datang.

Semua 3 komentar

Hmm, sepertinya itu mungkin terkait dengan pengaturan Anda (belum pernah melihat ini dilaporkan oleh orang lain), dapatkah Anda mencoba mengisolasi di aplikasi demo yang lebih kecil untuk memudahkan kami melacak?

Sedikit menggali dan saya menemukan ini hanya terjadi di layanan di mana saya telah menggunakan layanan perutean pribadi: routing: service('-routing') .

Menggantinya dengan router: service() memperbaiki masalah saya, tetapi apakah ada tempat yang didokumentasikan? Saya mendapat kesan bahwa layanan router publik masih akan datang.

@artcommacode ya, diumumkan di pos tentang rilis 2.15

Menutup ini kemudian.

Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat