Ember.js: Menggunakan this.transitionUntuk melewatkan pemuatan model

Dibuat pada 22 Des 2013  ·  3Komentar  ·  Sumber: emberjs/ember.js

Saya tidak yakin apakah ini perilaku yang disengaja, tetapi izinkan saya menjelaskan. Jika saya menggunakan transisiTo pada rute yang memiliki segmen dinamis, metode model pada rute tujuan tidak pernah dipanggil. Pada dasarnya saya hanya melewati params dengan id dan saya masih ingin memuat model yang tepat.

Jika saya menyegarkan halaman dengan URL yang benar meskipun model dimuat dengan baik. Saya mengumpulkan codepen untuk didemonstrasikan.

http://codepen.io/anon/pen/LsfhB

Versi saat ini akan keluar ke konsol "Saya di sini." Jika Anda melihat IndexRoute ada transisi yang dikomentari. Jika itu diaktifkan, "Saya di sini" tidak akan pernah terpicu.

Apakah ini diharapkan? Jika demikian, di mana saya harus memuat model saya untuk rute konfirmasi?

Komentar yang paling membantu

Jika Anda mengubah transisi menjadi this.transitionTo('confirm', 1); maka itu akan berfungsi seperti yang Anda harapkan.

IIRC jika Anda meneruskan primitif (string, angka) ke transisi alih-alih model lengkap maka itu akan menghitung itu adalah ID dan menggunakannya untuk membangun params untuk panggilan ke model , tetapi jika Anda melewati sesuatu yang rumit (dalam kasus ini sebagai objek) maka ia memperlakukannya karena Anda telah melewati model dan karenanya tidak memanggil kait model.

Dokumen API mungkin dapat dilakukan dengan contoh melewati ID alih-alih model lengkap: http://emberjs.com/api/classes/Ember.Route.html#method_transitionTo

Semoga masuk akal

Semua 3 komentar

Jika Anda mengubah transisi menjadi this.transitionTo('confirm', 1); maka itu akan berfungsi seperti yang Anda harapkan.

IIRC jika Anda meneruskan primitif (string, angka) ke transisi alih-alih model lengkap maka itu akan menghitung itu adalah ID dan menggunakannya untuk membangun params untuk panggilan ke model , tetapi jika Anda melewati sesuatu yang rumit (dalam kasus ini sebagai objek) maka ia memperlakukannya karena Anda telah melewati model dan karenanya tidak memanggil kait model.

Dokumen API mungkin dapat dilakukan dengan contoh melewati ID alih-alih model lengkap: http://emberjs.com/api/classes/Ember.Route.html#method_transitionTo

Semoga masuk akal

Masuk akal sekarang. Pertanyaan awal saya setelah komentar Anda adalah bagaimana Anda memasukkan banyak parameter? Tapi sepertinya Anda hanya meneruskannya sebagai argumen terpisah.

this.transitionTo('confirm.url', 1, 'the-slug-I-want');

Itu bekerja dengan baik untuk saya.

Pertanyaan di sini, jika Anda memiliki rute dengan sub-rute semua dengan segmen dinamis:
misalnya
this.route('organization', { path: 'organizations/:organization_id' }, function() {
this.route('project', { path: 'projects/:project_id' }, function() {
this.route('screen', { path: 'screens/:screen_id' });
});
dan saya berada di rute lain misalnya rute auth. Ketika saya pergi ke this.transitionTo('organization.project.screen',
{organization_id: 'grege23-234-4c3e-96fe-234423' },
{project_id: '234234-23423-4b99-a492-234' },
{screen_id: '34534-48f4-471d-ad17-3'45 });
Saya tidak melihat apa-apa, karena model tidak dimuat.
Bagaimana Anda bisa pergi untuk yang satu ini?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat