इसलिए, मैंने @ टाइप करके उत्तर टाइपस्क्रिप्ट में ट्रांसफ़र किया है, और यह ऐसा दिखता है:
namespace MyAwesomeApp {
function detectBackButton(
$rootScope: ng.IRootScopeService,
$location: ng.ILocationService
) {
let actualLocation: string = '';
$rootScope.$on('$locationChangeSuccess',
() => {
actualLocation = $location.path();
});
$rootScope.$watch(() => $location.path(),
(newLocation: string, oldLocation: string) => {
if (actualLocation === newLocation) {
}
});
}
detectBackButton.$inject = [
'$rootScope',
'$location'
];
angular
.module('app')
.run(detectBackButton);
}
हमें $rootScopeसेवा से कोई संपत्ति बनाने की आवश्यकता नहीं है , हम सिर्फ स्थानीय परिवर्तन पर 'लोकेशन चेंज सक्सेस' और 'लोकेशन चेंजेड' कोड दोनों को बंद कर सकते हैं actualLocation। वहां से, आप जो चाहें, जैसे मूल कोड में कर सकते हैं। अपने हिस्से के लिए, मैं एक ईवेंट प्रसारित करने पर विचार करूंगा ताकि व्यक्तिगत नियंत्रक जो कुछ भी कर सकते हैं, वह कर सकें, लेकिन यदि आप करना चाहते थे, तो आप वैश्विक कार्यों को शामिल कर सकते हैं ।
महान जवाब के लिए धन्यवाद, और मुझे उम्मीद है कि इससे अन्य टाइपस्क्रिप्ट उपयोगकर्ताओं को मदद मिलेगी।