मैं उपयोग कर रहा हूँ कोणीय के scrollTo
और anchorScroll
इस तरह:फिर से लोड करने कोणीय को रोकने के लिए कैसे जब पता बदलता है
app.controller('TestCtrl', function($scope, $location, $anchorScroll) {
$scope.scrollTo = function(id) {
$location.hash(id);
$anchorScroll();
}
});
<a ng-click="scrollTo('foo')">Foo</a>
<div id="foo">Here you are</div>
मेरे समस्या यह है कि जब मैं लिंक पर क्लिक करें पृष्ठ को स्क्रॉल डाउन, लेकिन मामलों के 50% में पेज रीलोड्स क्योंकि यूआरएल में हैश बदलता है।
मैं कोणीय को पृष्ठ को पुनः लोड करने से कैसे रोक सकता हूं?
अद्यतन: मैं पाया है यहाँ
किhttps://groups.google.com/forum/?fromgroups=#!msg/angular/BY2ekZLbnIM/MORF-z2vHnIJ
कि
The $location service broadcasts a $locationChangeStart event. You can observe that and call event.preventDefault() to stop the navigation. Nice!
किसी को भी उस घटना का निरीक्षण करने के लिए कैसे और रोकने डिफ़ॉल्ट
मुझे लगता है कि scrollTo समारोह में डाल दिया है और यह काम करता है, लेकिन समस्या तो मेरे दूसरे क्लिक करें बाईं ओर मेनू मेनू काम करना बंद कर देता है क्योंकि वह हैश को भी परेशान कर रहा है। मैं केवल तब ही रोक सकता हूं जब कणिका लिंक पर क्लिक करें केवल – user1865341
मुझे यकीन नहीं है कि आप कर सकते हैं या नहीं। आपको शायद उन लिंक को '$ एंकर स्क्रॉल()' के साथ प्रबंधित करना होगा या साथ ही अपने डिज़ाइन पर पुनर्विचार करना होगा। वैसे, वह स्निपेट आपके कंट्रोलर फ़ंक्शन में जाता है जो आपके 'स्क्रॉल टू फ़ंक्शन' में नहीं होता है। – cezar