Angularjs में angular.bind का उपयोग क्या है। कृपया एक उदाहरण प्रदान करें। https://docs.angularjs.org/api/ng/function/angular.bindangularjs में angular.bind का उपयोग क्या है? इसका उपयोग कहां करें?
उत्तर
Angular.bind एक उपयोगिता समारोह है कि function.bind और partial function application में कार्यक्षमता को जोड़ती है।
बाइंडिंग (सामान्य रूप से) यह विचार है कि आप वर्तमान संदर्भ को किसी फ़ंक्शन पर बाध्य करना चाहते हैं, लेकिन वास्तव में इसे बाद में निष्पादित करना चाहते हैं।
यह जब $http
साथ बनाने HTTP कॉल और वादों से निपटने कोणीय में उपयोगी हो सकता है:
$http.get('url').then(angular.bind(this,
function(response) {
this.response = response; //use this (which is the bound context)
});
उपरोक्त उदाहरण में, this
समारोह के अंदर होगा $http
संदर्भ जब तक में this
का उल्लेख नहीं हम स्पष्ट रूप से bind
इसे। यह एक सामान्य जावास्क्रिप्ट मुद्दा है (कॉलबैक में) संदर्भ के गतिशील बाध्यकारी (जो सबसे लोकप्रिय वर्ग-उन्मुख भाषाओं के विपरीत है) की वजह से है।
आंशिक आवेदन प्रयोग किया जाता है जब आप एक समारोह है कि पहले से ही कुछ अपने तर्कों का पारित किया गया है बनाना चाहते हैं। एक बहुत ही सरल और उदाहरण:
function add(x, y) {
return x + y;
}
var add10To = angular.bind(this, add, 10);
console.log(add10To(5));
// outputs 15
Angular.bind साथ
, कोणीय टीम इन एक साथ ऊपर लपेट के दोनों दे रहा है।
मुझे समझा गया कि angular.bind() का उपयोग करने के पहले उदाहरण में "यह" $ http में "यह" का जिक्र कर रहा है लेकिन दूसरे उदाहरण में मुझे समझ में नहीं आया कि यह किस बात का जिक्र कर रहा है (आमतौर पर इसे वैश्विक संदर्भ का संदर्भ लें लेकिन यह उपयोगी नहीं होगा और यह "यह" शायद add10To ऑब्जेक्ट है। क्या आप इसकी पुष्टि कर सकते हैं? – Bardelman
@ बार्डेलमैन बिल्कुल नहीं। पहले 'इस' में, यह '$ http का जिक्र नहीं कर रहा है ', यह फ़ंक्शन स्कोप का जिक्र कर रहा है कि '$ http.get ...' पंक्ति (उदाहरण के लिए, नियंत्रक) के भीतर निहित है। और फिर, दूसरा 'यह' उस संदर्भ का जिक्र कर रहा है जिसमें इन कथन और कार्यों को परिभाषित किया गया है। यदि कोई रैपिंग फ़ंक्शन नहीं है, तो यह वैश्विक संदर्भ को संदर्भित करता है। –
उस स्थिति में, "यह" वैश्विक स्कोप के रूप में क्या होगा जिससे इसे जोड़ने के लिए उपयोगी फ़ंक्शन एनालॉग बनाने के लिए बाध्य किया जा सके। एक्स को 10 के बराबर के रूप में पारित किया गया? – Bardelman
AngularJS में सभी डेटा $ स्कोप ऑब्जेक्ट की संपत्ति माना जाता है। फ्रेमवर्क इस बारे में सोचने के बिना, हुड के नीचे सही दायरे के ऑब्जेक्ट पर किसी भी एनजी-क्लिक को रूट करने का प्रबंधन करता है। कार्यों कि नियंत्रक समारोह के अंदर परिभाषित कर रहे हैं बस से जुड़ी संपत्तियों की बजाय डेटा का उपयोग करने $scope
वस्तु का उपयोग करें: एक बुलाया समारोह के अंदर, इस $ गुंजाइश वस्तु
<body ng-controller="MainCtrl">
<p ng-click="clickMe()">Click me</p>
</body>
when clicked the following controller function
app.controller('MainCtrl', function($scope) {
$scope.clickMe = function() {
console.log(this === $scope);
};
});
// prints true
function.bind
अक्सर AngularJS नियंत्रक कोड के अंदर नहीं किया जाता है के लिए अंक इस। यहां तक कि लिंक फ़ंक्शन के अंदर परिभाषित फ़ंक्शंस सीधे स्कोप वैरिएबल के साथ काम कर सकते हैं।
संदर्भ: http://bahmutov.calepin.co/why-function-bind-matters-little-in-angularjs.html
यह क्लासिक फ़ंक्शंस में से एक है जिस पर कार्यात्मक भाषाएं आधारित हैं। यह हमें आंशिक कार्यों के साथ काम करने की अनुमति देता है। ध्यान दें कि यह कोणीय विशिष्ट नहीं है, यह जावास्क्रिप्ट विशिष्ट है। जावास्क्रिप्ट के लिए अधिकांश उपयोगिता पुस्तकालयों में यह फ़ंक्शन भी शामिल है (उदा। अंडरस्कोर/लोडाश)।
आजकल, यह फ़ंक्शन जावास्क्रिप्ट का एक हिस्सा है (सभी प्रमुख ब्राउज़रों पर समर्थित - Which browsers support bind()? देखें)।
व्याख्या करने के लिए क्या bind
करता है, मैं Lodash दस्तावेज में उदाहरण का उल्लेख होगा (कुछ टिप्पणियाँ angular.bind
के साथ मूल _.bind
की जगह और जोड़ने):
//this is a simple function. Note it uses "this" but it's not inside any object.
var greet = function (greeting, punctuation) {
return greeting + ' ' + this.user + punctuation;
};
//now let's define an object
var object = { 'user': 'fred' };
//now we can create a functions by "binding" the object with the function above and also supplying the "greeting" argument
var bound = angular.bind(object, greet, 'hi');
bound('!');
// → 'hi fred!'
इस प्रश्न पर के लिए अधिक जानकारी के लिए नीचे दिए गए लिंक की जाँच करें http://learnkode.com/Examples/Angular/angular-bind
- 1. डीएसएल क्या है और मुझे इसका उपयोग कहां करना चाहिए?
- 2. अस्थिरता का उपयोग कहां करें?
- 3. CGRectIntegral इसका उपयोग क्या है?
- 4. AngularJS में कुकीज़ का उपयोग कैसे करें?
- 5. क्या AngularJS में ExtJS घटकों का उपयोग करना संभव है?
- 6. ipython का उपयोग कहां करें और ipthon shell कहां है?
- 7. जीएलबीबीसी क्या है? इसका क्या उपयोग है?
- 8. Angularjs में GeoCharts का उपयोग करें
- 9. प्लिस्ट: यह क्या है और इसका उपयोग कैसे करें
- 10. Wsgen का उपयोग कहां करें?
- 11. जेएनडीआई क्या है? इसका मूल उपयोग क्या है ..? इसका उपयोग कब किया जाता है?
- 12. Google Analytics async डिज़ाइन पैटर्न का नाम क्या है और इसका उपयोग कहां किया जाता है?
- 13. जावास्क्रिप्ट ओओ में इसका उपयोग कब करें?
- 14. ViewDragHelper: इसका उपयोग कैसे करें?
- 15. क्या इसका उपयोग करने का कोई कारण है->
- 16. ज़ूकीपर बंदरगाह और इसका उपयोग क्या है?
- 17. प्रोग्रामिंग में हैश मैप क्या है और इसका उपयोग कहां किया जा सकता है
- 18. क्वेरी में उपनाम का उपयोग करके और इसका उपयोग
- 19. @ सेक्शन स्क्रिप्ट्स क्या है और इसका उपयोग
- 20. कॉन्ट्रैक्ट क्लास क्या है और इसका उपयोग
- 21. composed_of - इसका उपयोग कब करें?
- 22. प्रोटैक्टर - ब्राउज़र का उपयोग कहां करें। WaitForAngular()
- 23. ICustomTypeDescriptor क्या है और इसका उपयोग कब करें?
- 24. एलडी_LIBRARY_PATH क्या है और इसका उपयोग कैसे करें?
- 25. कोडमिरर - क्या जोड़ रहा है और इसका उपयोग कैसे करें?
- 26. डीएसवाईएम क्या है और इसका उपयोग कैसे करें? (आईओएस एसडीके)
- 27. Request.InputStream क्या है और इसका उपयोग कब करें?
- 28. बूटस्ट्रैप का उपयोग करना AngularJS
- 29. जेएनआई ग्राफिक्स क्या है या इसका उपयोग कैसे करें?
- 30. कॉर्डोवा टेलीमेट्री, यह क्या है और इसका उपयोग क्यों करें?
@ जॉर्ज दो प्रश्नों में पूरी तरह से अलग है। –