/ टाइपस्क्रिप्ट में यह 'दोनों' चर को एक्सेस करना - jquery, टाइपस्क्रिप्ट, यह

टाइपस्क्रिप्ट में 'इस' चर दोनों को एक्सेस करना - jquery, टाइपस्क्रिप्ट, यह

टाइपस्क्रिप्ट में, यदि आप एक फ़ंक्शन का उपयोग करके परिभाषित करते हैं () => {...}, द this चर आसपास के वर्ग के उदाहरण को संदर्भित करेगा। लेकिन अगर आप उपयोग करते हैं function () {...}, द this चर की अपनी पुरानी जावास्क्रिप्ट व्याख्या होगी।

क्या इन दोनों को एक्सेस करने का कोई तरीका है this टाइपस्क्रिप्ट फ़ंक्शन के भीतर चर?

टाइपस्क्रिप्ट में JQuery का उपयोग करते समय मुझे कभी-कभी इसकी आवश्यकता होती है:

class X {
private v : string;
constructor() {
$(".xyz").on("change", function() {
this.v = $(this).prop("value"); // Two different this"s
})
}
}

कोड में केंद्रीय पंक्ति में, पहला this दसवीं कक्षा के ऑब्जेक्ट को संदर्भित करना चाहिए, जबकि दूसरा this घटना को ट्रिगर करने वाले JQuery ऑब्जेक्ट को संदर्भित करना चाहिए।

उत्तर:

जवाब के लिए 5 № 1

में change आयोजन प्रबंधकर्ता this का उल्लेख करेंगे .xyz तत्व जिसने केवल घटना को उठाया। यदि आप युक्त के लिए एक संदर्भ चाहते हैं X वर्ग तब आपको उस संदर्भ की तरह एक चर संग्रहित करने की आवश्यकता होती है, जैसे:

class X {
private v : string;
constructor() {
var _x = this;
$(".xyz").on("change", function() {
_x.v = $(this).prop("value");
})
}
}