Ben ui yönlendirici ve Angular 1.4.7 kullanıyorum. Bağlam için, denediğim her şey yol boyunca ilerlerken (rotadan uzaklaşıldığında) ya da rota içinde geriye doğru çalışırken çalışır, ancak farklı rotasına geri dönerken asla çalışmaz.Tarayıcı geçmişi sıkışmış nasıl engellenir Tarayıcı geçmişi boyunca geri giderken açısal rota
Yolda kaldığım rotanın denetleyicisinde, rota değişikliklerini güncellemek için $ location.search() işlevini ve bu değişiklikten sonra bir işlevi tetiklemek için $ locationChangeSuccess kullanıyorum. Şu anda farklı bir rotaya geri dönmeye çalışırsam rotada takılıyorum. Ben rotayı tespit etmek için $ locationChangeStart ve $ locationChangeSuccess kullanarak denedim (newUrl ve oldUrl params dilimleme yoluyla), ben tekrar gitmek için çalışıyorum, ama her zaman geçerli yol olarak gösterir (ancak eğer bu işe yaramazsa) ileriye doğru seyir).
Güncelleme: kodun bazı
// routeIGetStuckOn.js excerpt
$stateProvider
.state('routeIGetStuckOn', {
url: '/routeIGetStuckOn?optionalParams',
reloadOnSearch: false,
templateUrl: 'app/routes/routeIGetStuckOn/routeIGetStuckOn.html',
controller: 'routeIGetStuckOnCtrl',
controllerAs: 'vm'
});
///////////////////////////////////////////////////////////////////////
// routeIGetStuckOn.controller.js excerpt
// When params in URL is updated, fire a function
$scope.$on('$locationChangeSuccess', function() {
loadNewData();
});
//Use $location.search in various different functions with different types of new data
$location.search('optionalParams', newData);
Güncelleme: göster Ben durumda cevap olarak sunacak bir çözüm bulduk
URL sorunu herkesten içinde biter bu durum.
- Başlat
website.com/randomRoute
- git de tıklama
website.com/routeIGetStuckOn
- Güncelleme param adım 2'nin
website.com/routeIGetStuckOn
için geri düğmesini tarayıcı kullanarak geri dönmek fakat sonuna kadarwebsite.com/routeIGetStuckOn?optionalParams=data
- Girişimi Olarak: Ben önlenmesi am budur
website.com/routeIGetStuckOn?optionalParams=
. Bu kod ekleyerek, amaçlandığı gibi bu noktada, yapamaz yerinewebsite.com/routeIGetStuckOn
gidiyor, tarayıcı geçmişini korumak vewebsite.com/routeIGetStuckOn?optionalParams=
için navigasyonu önlemek mümkün oldum 1.
Aralarından gideceğiniz rota ve URL'lerden örnekler verebilir misiniz? Kodu kullanıyorsun? 'StateChangeSuccess' kullanmıyor olmanızın bir nedeni var mı? – tyler
'$ stateChangeSuccess' yalnızca tarih boyunca başka bir rotaya (ya da yalnızca rotayı tıklatarak) ilerlerken tetiklenir. Ne yaptığımı açıklığa kavuşturmak için bazı ilgili kodları alıp alamayacağımı göreceğim. Ancak çok fazla kod var:/ – bananabanana
Düzgün kullanıyorsanız, "$ stateChangeSuccess" bir geri düğmesiyle düzgün şekilde yanacaktır. Her zaman kullanırım ... – tyler