सबसे पहले, $routeChangeSuccess
एक नियंत्रक तक ही सीमित नहीं है। इसे $rootScope
से प्रसारित किया गया है जिसका अर्थ है कि इसे प्रत्येक स्कोप (या, प्रत्येक स्कोप जो $rootScope
से प्राप्त होता है) पर सुना जा सकता है लेकिन यह एक विस्तृत विस्तृत कार्यक्रम है।
एक अनियंत्रित ईवेंट भी है जो $routeChangeSuccess
के समान काम करता है जिसे $locationChangeSuccess
कहा जाता है। अंतर यह है कि एक बार मार्ग पर एक बार सफलतापूर्वक आग लग गई है और बाद में आग लग जाती है जब यूआरएल बदल जाता है लेकिन मार्ग बदलने से पहले। ध्यान दें कि यह सभी यूआरएल परिवर्तन नहीं है, बस यूआरएल इस तरह से बदलता है कि AngularJS एप्लिकेशन इसे पंजीकृत कर सकता है (उदाहरण के लिए, $location.url()
पर एक सेटर कॉल)।
बस स्पष्ट करने के लिए, $locationChangeSuccess
को $rootScope
से भी प्रसारित किया गया है।
दोनों के लिए, आप scope.$on('$routeChangeSuccess')
या scope.$on('$locationChangeSuccess')
का उपयोग करके ईवेंट को सुन सकते हैं।
स्रोत
2013-08-20 01:23:05
आप एक आधार नियंत्रक कि अपने पूरे एप्लिकेशन शामिल हो सकता था, और कहा कि नियंत्रक के लिए सुनने मार्गChangeSuccess घटना। –