Burada örnek bir düzen var. Bölüm yüksekliğinin, kullanıcının bakış açısına eşit veya eşit olduğu varsayılır.Açısal yönlendirici yönünü değiştir kaydırma durumu
Tüm bu bölümler bir görünümde yerleştirilir. Ayrıca, kullanıcı URL'leri üzerine tarayıcı URL'sini dinamik olarak değiştirmek ve bölümlerden birine ulaşmak istiyorum: Kullanıcı ilk kez 'u (açısal html5 modunu kullanmayan) görüyor, sonra bir sayfayı aşağı kaydırıyor ve section2
öğesi kullanıcının görüş alanında görünür hale geldiğinde http://example.com/#/section2
'u görmeli. . Ayrıca kullanıcı bağlantıyı kopyalarsa, açıldığında, http://example.com/#/section2
Sayfayı bu bölüme kaydırmam gerekir.
Şu anda kullanıcı tarafından görüntülenen bölümün hangisi olduğunu tespit etmek için angular-inview yönergesini kullanıyorum.
Şimdi parametre üzerinden yaptık:$state.go($state.current, {
section: $scope.activeSectionId // e.g. 'section2'
}, {
notify: false, // do not reload page
location: 'replace' // do not save as new history entry
});
Ama bu şekilde sessiz iyi ve URL dostu aramıyorsanız değildir. Ayrıca, ui-sref ile bir bağlantıyı tıklattığımda, ilk kez sayfa atlayışları için, bir süre için inview bölümünü değiştirir ve yukarıda belirtilen kodu tetikler, böylece aslında bir ui-sref'e göre gezinmez. Ama bir dahaki sefere tıklıyorum - hepsi iyi çalışıyor (bu sayfa yeniden yüklenmesinden hemen sonra gerçekleşir).
Birisi bunu mümkün kılarsa, daha iyi nasıl yapılmasını önerebilir?
Çapa kaydırma kullanımı, mousewheel, klavye vb. Ile doğal kaydırmanın durumunu değiştirmek için sorunu çözmeyecektir. Yalnızca bazı bağlantı veya düğmelerdeki tıklatmayla durumu değiştirir. – m03geek
Evet, konum karma hile yapabilir, ancak başka bir # url üretiyor ve html5mode'ye geçersem (hash) da URL'de kalır. Benim temel amacım devletin değişmesini sağlamak ve nihayetinde url'deki hashtan kurtulmaktır. Ama şimdilik anladığım kadarıyla bunu açık bir şekilde yapmak imkansız, bu yüzden yeni cevaplar görünmezse sizinkileri kabul ediyorum, çünkü bu sorunu en azından kısmen çözüyor. Teşekkürler. – m03geek