में एक $ स्थान प्रदाता को देखने के लिए मुझे URL बार पर परिवर्तन देखने और उस पर आधारित कुछ क्रियाएं करने की आवश्यकता है। मुझे आश्चर्य हुआ कि इसमें बदलाव देखने के लिए घड़ी जोड़ने का सबसे अच्छा तरीका क्या है?Angular.js
5
A
उत्तर
12
घटनाक्रम मौजूद हैं, वे सिर्फ किसी कारण से undocumented रहे हैं।
निम्न इवेंट का प्रयास करें: $locationChangeStart
और $locationChangeSuccess
scope.$on('$locationChangeStart', function (event, newLoc, oldLoc){
console.log('changing to: ' + newLoc);
});
scope.$on('$locationChangeSuccess', function (event, newLoc, oldLoc){
console.log('changed to: ' + newLoc);
});
या आप $ के रूप में एंडर्स सुझाव दिया $ घड़ी की पहली बहस में एक समारोह को पारित करके इसे मनचाहे मान देख सकते हैं:
scope.$watch(function() { return $location.path(); }, function(newLoc, oldLoc){
console.log(newLoc, oldLoc);
});
हालांकि यह आपके $ पाचन पर थोड़ा अधिक ओवरहेड बनाएगा।
1
यह मानते हुए कि आप अपने नियंत्रक में $ स्थान वस्तु का अनुरोध किया है, तो आप इसे इस तरह से कर सकते हैं:
$scope.$watch(function() { return $location.path() }, function() {
// Do stuff when the location changes
});
संबंधित मुद्दे
- 1. Angular.js
- 2. Angular.js
- 3. Angular.JS
- 4. यदि Angular.js
- 5. Angular.js एकीकरण
- 6. angular.js में templating - विरासत
- 7. क्या Angular.js निर्देशों
- 8. angular.js (या knockout.js) एकीकरण?
- 9. Angular.js: ng-repeat
- 10. Angular.js नियंत्रक प्रारंभ में देरी
- 11. angular.js लिंक व्यवहार - विशिष्ट यूआरएल
- 12. सर्वर-साइड सत्यापन फ़ॉर्म Angular.js
- 13. Angular.js - img src टैग में फ़िल्टर करें
- 14. angular.js कारखाने में $ http का उपयोग कर
- 15. Angular.js: दो-तरफा बाध्यकारी एनजी-दोहराना
- 16. angular.js क्रोम एक्सेस-कंट्रोल-अनुमति-उत्पत्ति
- 17. angular.js पर HTML5 pushstate का उपयोग
- 18. जांच डेटा पहले से ही Angular.js
- 19. डेटा को बूटस्ट्रैप कैसे करें क्योंकि इसे Angular.js
- 20. angular.js में बटन की स्थिति को टॉगल कैसे करें?
- 21. सूची दृश्य से डेटा को angular.js में विस्तृत दृश्य में
- 22. Angular.js ढांचे के अतिरिक्त जेएस फाइलें क्या हैं?
- 23. Angular.js: सरणी में फिल्टर एनजी-दोहराने अनुपस्थिति से
- 24. रेल पर रूबी के साथ angular.js में सुरक्षा
- 25. angular.js के साथ couchDB को कैसे कनेक्ट करें?
- 26. बूटस्ट्रैप का उपयोग कर Angular.js और गतिशील बनाने पंक्तियों
- 27. angular.js में बाल चेकबॉक्स के आधार पर अभिभावक चेकबॉक्स का चयन कैसे करें?
- 28. Angular.js: मौजूदा स्कोप डेटा के आधार पर एनजी-दोहराना दोबारा प्रस्तुत करना संभव है?
- 29. angular.js: मूल डोम से निर्देशक के डोम से ngclick कैसे पास करें?
- 30. आप Windows 8 स्टोर ऐप में काम करने के लिए Angular.js कैसे प्राप्त करते हैं?
धन्यवाद @blesh। यह पहचानने की कोशिश कर रहा है कि दो घटनाएं कब उत्सर्जित होती हैं और उनके बीच क्या अंतर होता है। कोई विचार? – Lior
यह सभी $ स्थान के लिए प्रारंभिक कोड में स्थापित है। [गिटहब पर स्रोत देखें] (https://github.com/angular/angular.js/blob/master/src/ng/location.js)। $ LocationChangeStart के लिए बस CTRL + F। यह मूल रूप से $ घड़ी() विधि के जैसा ही सुझाया गया है, लेकिन यह आपके लिए पहले से स्थापित है, इसलिए कम ओवरहेड है। –
संक्षेप में, '$ locationChangeStart' पहले होता है और आपको ईवेंट ऑब्जेक्ट पर' preventDefault() 'के साथ परिवर्तन को रोकने के लिए एक विकल्प देता है। स्थान सफलतापूर्वक बदल दिए जाने के बाद '$ locationChangeSuccess' आग लगती है। (बल्कि, जब आप स्थान बदलने के लिए प्रतिबद्ध हैं)। –