Anahtar değer çiftlerini paraşüt olarak Omurga rotalarına iletmek ve eşlenen işlev çağrılmadan önce bir javascript nesnesine serileştirilmesini istiyorum. Sonra, {: "VAL1", anahtar2: key1 dizesini "değer2"}: "anahtar1 = val1 & anahtar2 = VAL2 //...#dashboard http" Ben gittiğinizdeBackbone.js Yönlendiricisi'nde anahtar değer çifti param işlemlerini gerçekleştirme
var MyRouter = Backbone.Router.extend({
routes: {
"dashboard?:params" : "show_dashboard"
},
show_dashboard: function(params){
console.log(params);
}
});
üzerinde yazılı olmalıdır konsol.
Şu anda jQuery BBQ's $ .deparam yöntemini kullanarak seri hale getirilmiş nesneye ulaşmak için her eşlenen işlevi kullanıyorum. Yönlendiriciyi genişletip, bir kez tanımladığımda, parametreler bir nesne olarak tüm eşlenmiş işlevlerin içinde erişilebilir olduğunda çok güzel olurdu. Bunu yapmanın temiz bir yolu ne olurdu? Ve bunun içinde bazı tuzaklar var mı?
Çok teşekkürler, Sen Backbone.Router
içinde _extractParameters
işlevini yeniden tanımlamak gerekir
Buna dikkat ederim. Tarayıcınızı karıştırabilecek bir URI oluşturuyorsunuz. # ve ? URI belirtiminde saklıdır ve? # önce bekleniyor. Bu bir sorun olmayabilir, ancak bu, farklı tarayıcılarda istenmeyen sonuçlara neden olabileceği anlamına geliyor. http://labs.apache.org/webarch/uri/rfc/rfc3986.html –
@BrianGenisio Bilgi için teşekkürler. Şimdi çalışıyor ama dediğiniz gibi, tarayıcılar std'ye uymaya daha sonraki bir tarihte çalışmayı durdurabilir. :-) Alternatif bir yaklaşım deneyeceğim. –
Neden sadece eğik çizgi kullanmıyorsunuz? –