2016-04-04 31 views
0

Uygulamanın sayfaları, X, Y ve Z vardır. Yani yönlendirme aşağıdaki gibi olmalıdır: X sayfasına gidin ve sonra bazı ayrıntıları seçin ve ardından Y sayfasına gidin ve daha fazla ayrıntı seçin ve sonra Z'a gidin. Bu yüzden Z sayfasına gittiğimde pencere geri düğmesini tıkladıktan sonra sayfa X sayfasına gitmeli ve sayfa Y'a gitmemeliyim. Y'dan Z'a giderken, { location: 'replace' }'u $state.go'a eklemeye çalıştım, ancak çalışmaz. Bunu nasıl başaracağın hakkında bir fikrin var mı?ui yönlendirici önceki durumu değiştiriyor

Teşekkür

+0

Basit bir çözüm sadece 2 eyalet, X ve Z olacaktır. X sayfasındaki bazı detayları seçip Y ile "ui.router" ile gitmek yerine, geçerli divı gizleyin ve div'u gösterin. Y.'nin içeriği daha sonra detaylar seçilirse, “ui.router” ile Z'ye gidin .. – AdityaParab

+0

@AdityaParab, farklı bir sayfaya ihtiyacım var 'Y' – AbKDs

+0

Yani 'sayfa' demek istediğin gibi rota? – AdityaParab

cevap

2

Bir durumunu değiştirme Her zaman, Eğik bunu kullanabilirsiniz, bir olay $stateChangeStart denilen tetikleyecek Avantajınıza senin app.run yılında

,

app.run(function($rootScope,$state){ 
    $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) { 
     //Check if you're going from Z to Y 
     if(fromState.name === 'Z' && toState.name === 'Y'){ 
      // if so, first stop the default behavior 
      event.preventDefault(); 
      // then navigate to X 
      $state.go('X'); 
     } 
    }); 
}); 

geri düğmesi esasen senin sorunun bununla çözülecek böylece aynı olayı tetikler tarayıcı

yok.

+0

bunu nasıl çalıştı? – AbKDs

0

.. $ state.go gibi daki devlet verip bu gibi yapın: $state.go('y')

+0

Bu doğru, bu tarayıcıda geri düğmesi – AbKDs

İlgili konular