2013-07-25 16 views
5

के रूप में काम नहीं कर रहा है। मैं इस नियंत्रण का उपयोग कर रहा हूं: http://blueimp.github.io/jQuery-File-Upload/angularjs.html कोणीय में फ़ाइल अपलोड करने के लिए, एक बार फ़ाइल मेरे सर्वर पर अपलोड हो जाने पर मैं एक यूआरएल लौटाता हूं और इसे क्लाइंट को प्रदर्शित करना चाहता हूं सफलता कॉलबैक। उपयोग की जाने वाली प्लगइन सिर्फ एक सामान्य jquery फ़ाइल अपलोड है, लेकिन एक कोणीय निर्देशक रैपर है जिसका उपयोग मैं कर रहा हूं।

$scope.options = { 
    url: '/api/Client/', 
    type: 'PUT', 
    done: function (event, data) { 
     var scope = angular.element(this).scope(); 
     scope.test = "doesn't work"; 
     scope.$apply(function() { 
      scope.test = "this doesn't work either"; 
     }); 
    } 
}; 

फ़ाइल ठीक अपलोड करता है, और किया समारोह कहा जाता है लेकिन मैं दृश्य को अपडेट करने में असमर्थ हूँ:

यहाँ मैं कॉलबैक कैसे परिभाषित है। मैंने शुरुआत में केवल दायरे को बदलकर कोशिश की, फिर मुझे एहसास हुआ कि मुझे $ आवेदन() फ़ंक्शन की आवश्यकता होगी लेकिन यह काम नहीं कर रहा है।

मैं भी

$scope.options = { 
    url: '/api/Client/', 
    type: 'PUT', 
    done: function (event, data) { 
     $scope.test = "doesn't work"; 
     $scope.$apply(function() { 
      $scope.test = "this doesn't work either"; 
     }); 
    } 
}; 

की कोशिश की है और वह भी काम नहीं करता। मुझे यकीन नहीं है कि यह मेरे विचार को अपडेट क्यों नहीं कर रहा है, और जैसा कि किया गया कॉल सिर्फ एक अजाक्स सफलता कार्यक्रम है, मुझे नहीं लगता कि यह विशिष्ट प्लगइन $ scope के साथ किसी भी समस्या का कारण बन सकता है। $ लागू करें। मैं AngularJs 1.1.5 का उपयोग कर रहा हूं, लेकिन मैंने 1.0.7 भी कोशिश की है और मुझे एक ही समस्या मिल रही है।

+0

जब आप आवेदन करते हैं तो आपको एक त्रुटि मिल रही है कि लागू/डाइजेस्ट पहले से ही प्रोजेस में है? –

+0

नहीं, कोई त्रुटि नहीं। यह सिर्फ कुछ नहीं करता है। अगर मैं इसे कई बार कॉल करता हूं और $ scope.test के मान को देखता हूं तो मुझे वह मान दिखाई देता है जो पहले सेट किया गया था। दृश्य उस मान के साथ अद्यतन नहीं करता है –

+0

दूसरा संस्करण वास्तव में ऐसा लगता है कि यह मेरे लिए काम करना चाहिए, अगर पूरा कार्य कहलाता है। –

उत्तर

11

मेरी टिप्पणी से कॉपी किया गया यह स्पष्ट है कि समस्या क्या था बनाने के लिए:

मैं समस्या यह पता लगाने में कामयाब रहे। अपने उदाहरण का उपयोग करते समय मेरे पास एनजी-कंट्रोलर का डुप्लिकेट था (उनका उदाहरण मेरे अन्य नियंत्रक के भीतर घोंसला था) और भले ही दोनों एक ही नियंत्रक का उपयोग कर रहे थे, ऐसा लगता है कि यह केवल नेस्टेड कंट्रोलर स्कोप के भीतर कुछ भी अपडेट करेगा। डुप्लिकेट एनजी-कंट्रोलर विशेषता को हटाते समय यह सब ठीक काम करता है।

+0

एक ही समस्या थी। दिलचस्प बात यह है कि मूल तत्व (एनजी-नियंत्रक टैग की पहली घटना) में बाइंडिंग अपडेट नहीं हो रही थीं। – Joon

+0

आप सबसे अच्छे हैं! मैं एक ही समस्या का सामना कर रहा था और नियंत्रक डुप्लिकेशन को हटाकर सबकुछ हल कर रहा था। – devTimmy

1

मैंने सोचा कि मैं भी इसमें चिल्लाऊंगा, क्योंकि मैंने पूरे दिन इस मुद्दे से निपटने में बिताया है।

सुनिश्चित करें कि आपके एचटीएमएल में, आप एनजी-नियंत्रक को एक div wrapper पर लागू करते हैं, न कि तत्व।

संबंधित मुद्दे