2012-10-06 13 views
17

में निर्देश लागू होता है मेरे पास एक निर्देश है जहां मैंने निर्देशक के 'मौजूदाफाइल' मॉडल पर एक घड़ी जोड़ दी है। जब मॉडल में स्कोप के माध्यम से परिवर्तन होता है। $ लागू होते हैं, श्रोता को घड़ी में कोई कॉल नहीं है।

यहाँ निर्देश कोड है, कृपया कृपया मुझे पता है कि यह सुनिश्चित करने की जाने मुझे पता है अगर मैं कुछ यहाँ याद आ रही है चलो,

directive('fileuploadPlugin', function() { 
    var linkFn; 
    linkFn = function(scope, element, attrs) { 
     angular.element(element).ready(function() { 
      jQuery('#fileupload').fileupload({ 
       done: function (e, data) { 
        scope.$apply(function(scope) { 
         for(var i=0; i < data.result.filesuploaded.length; i++){ 
             scope.existingfiles.push(data.result.filesuploaded[i]); 
        };        
        }); 
       } 
     }); 
     scope.$watch('existingfiles', function(newValue, oldValue) { 
       element.imagesLoaded(function() { 
       scope.$apply(function() { 
        element.masonry({ 
         itemSelector : '.box' 
        }); 
       }); 
      }); 
     }); 
    }; 
    return { 
     templateUrl : 'templates/fileupload_plugin.htm', 
     restrict : 'A', 
     scope  : { 
      existingfiles : '=ngModel', 
     }, 
     link  : linkFn 
    }; 
    }) 

यहाँ मेरी निर्देशों के कॉल है,

<div fileupload-plugin ng-model="existingfiles"></div> 

उस मॉडल को ठीक से देखा जाता है

उत्तर

40

समस्या को 'सत्य' को $ घड़ी कॉल के तीसरे पैरामीटर के रूप में हल करके हल किया गया है। कृपया यहाँ मिल जाए, तीसरे पैरामीटर पर अधिक जानकारी के

Angular Docs on $rootScope

+0

कौन दा thunk। तीसरा पैरामीटर: ऑब्जेक्ट इक्विटी (वैकल्पिक) - {बूलियन =} - संदर्भ के बजाए समानता के लिए ऑब्जेक्ट की तुलना करें। –

+6

या कॉल करने के लिए याद रखें। नियंत्रक – Pencilcheck

+0

में अद्यतन को मजबूर करने के लिए दायरे में प्रत्येक परिवर्तन के बाद $ digest() मेरे लिए हल किया गया, धन्यवाद! –

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