2013-02-21 20 views
24

$locationChangeSuccess और $locationChangeStart के बीच क्या अंतर है?

वे दोनों window.location से संबंधित अनियंत्रित घटनाएं हैं।

उत्तर

42

$locationChangeStart निकाल दिया जाता है जब AngularJS $location सेवा ($location.path(), $location.search()) के माध्यम से किया म्यूटेशन के आधार पर ब्राउज़र के स्थान को अपडेट करने के लिए शुरू होता है।

ऐसा हो सकता है कि कोई एप्लिकेशन $locationChangeStart ईवेंट सुनेंगे और preventDefault() पर कॉल करेगा। इस मामले में दूसरी घटना ($locationChangeSuccess) प्रसारण नहीं होगी।

संक्षेप में: $locationChangeStart स्थान अपडेट होने पर आग लगती है। इसके बाद $locationChangeSuccess है यदि पहली कार्रवाई को रोका नहीं गया था।

स्रोत कोड के प्रासंगिक बिट यहां हैं: https://github.com/angular/angular.js/blob/2508b47c1a34dfc834f8fde858574f81af4d287e/src/ng/location.js#L598