निम्न नियंत्रक समस्या के बिना काम करता है।जावास्क्रिप्ट 'बाइंड' विधि अपेक्षित काम नहीं करता
app.controller('foo', ['$scope',function ($scope) {
$scope.delete = function(){
bar($scope);
}
}]);
मैं bind
का उपयोग करके इसे एक छोटे से क्लीनर करने की कोशिश की:
app.controller('foo', ['$scope',function ($scope) {
$scope.delete = bar.bind(null, $scope);
}]);
दुर्भाग्य से, इस प्रपत्र की उम्मीद और $scope
हमेशा बाध्य विधि में $ गुंजाइश के एक पुराने संस्करण के साथ आपूर्ति की है के रूप में काम नहीं करता है (bar
यहां), $ scope के बाद भी एक अलग मूल्य के संदर्भ में बदल गया है। इसमें ग़लत क्या है?
और क्या?
यदि मुझे यहां bind
का उपयोग नहीं करना चाहिए, तो विकल्प क्या है?
का उपयोग util के अंदर क्या है के रूप में? मैं नहीं सोच सकता कि आपको ऐसा करने की आवश्यकता क्यों होगी। –
मुझे बांधने का दुरुपयोग लगता है। –
क्या समस्या है कि एक मान * है * 'scope.delete' को आपूर्ति की जा रही है, लेकिन यह एक * पुराना * मान है? या यह कार्य सिर्फ पूरी तरह असफल रहा है (या बिल्कुल मूल्य प्रदान नहीं किया जा रहा है)? – apsillers