2012-07-06 14 views
6

Açıldığında, URL'yi değiştiren kalıcı bir açılır pencerem var. Bir kullanıcı açılır pencereyi kapattığında, önceki URL'ye geri dönmek istiyorum ancak koleksiyonumuzu yeniden yükleyeceğinden ve görünümü oluşturduğundan, bu URL ile ilişkili rotayı tetiklemek istemiyorum. Tetiklemeden window.history.back() aramanın bir yolu var mı Güzergah mı, yoksa omurga eşdeğeri mi? AklımaBackbone.history işlevini, rota işlevini tetiklemeden geri dönmek için kullanın

tek çözüm modal kapalı çağrı

Backbone.history.navigate(route, {trigger: false, replace: true}); 

ama bu kolay bir sorunu çözmek için karmaşık bir yol gibi görünüyor sonra zaman önceki rotayı kaydetmek olacaktır.

+1

Benim önerim (ve sorunuzu hiç cevaplamadığı için üzgünüm), açılır pencere görüntülenirken sayfanıza yer işareti koyarsa ne olacağını düşünmektir. Doğrudan http://yoursite.com/#popup/route adresine dönerse, garip davranabilir. Eğer garip davranmazsa, modal diyaloğu kapatırsa ne olur? Benim deneyimime göre, yönlendiricileri bu nedenlerle kalıcı bir diyaloğa neden olmak için kullanmamıştım. Umarım bu mantıklıdır. – timDunham

+0

Bu sayfaya yer işareti koyarlar ve sitenize geri dönerlerse, siteniz.com/#popup/route adresine yönlendirilirseniz, söz konusu açılır sitenin statik html sürümüne siteniz.com/popup/route adresinden yönlendirilir. Böylece, pop-up penceresini kapatma seçeneği yoktur. – Barny

cevap

5

Bir yönlendiricideki geçmişin saklanması bana iyi bir çözüm gibi geliyor, bu sorunu çözmenin daha iyi bir yolunu anlayamadım.

bunun iyi bir çözüm buradadır:

class MyRouter extends Backbone.Router 

    initialize: (options) -> 
    @on "all", @storeRoute 
    @history = [] 

    storeRoute: -> 
    @history.push Backbone.history.fragment 

    previous: -> 
    if @history.length > 1 
     @navigate @history[@history.length-2], false 
    else 
     @navigate '', true 

Sonra sadece MyRouter.previous(), çağırabilir ve: Bu şuna benzer böylece Silently change url to previous using Backbone.js

Ben küçük bir çimdik yapacağını Doğrudan talep ile geldiyseniz, sizi köklerine ulaştırır.

Yönelticinin varsayılan bir özelliği olmasını diliyorum, en azından 5 son yolu koruyor.

İlgili konular