2013-10-02 6 views
7

में निर्देश की विशेषता में एक अभिव्यक्ति का मूल्यांकन करना मैंने बहुत सारे कामकाज, खोज और शोध किए, लेकिन मुझे नहीं पता कि मेरा लक्ष्य कैसे प्राप्त किया जाए।AngularJS

- समस्या:

  • मैं एक निम्न स्थिति है, मैं उपयोगकर्ता से बचना चाहते हैं एक अनुबंध में कर सकते हैं ओवरलैप आयोगों दिनांकों। जब उपयोगकर्ता एक नया कमीशन जोड़ता है, तो हम एनजीआरपीट के साथ जेनरेट किए गए अतिरिक्त कमीशन के साथ एक सूची दिखाते हैं, इस में उपयोगकर्ता की कठिनाई तिथियों को संपादित कर सकती है। अनुबंधों के भाग में, यह कोई समस्या नहीं है, क्योंकि अनुबंध संपादित करने के लिए, आपको अन्य स्क्रीन पर जाना होगा और इसे संपादित करना होगा, दिनांक को उसी दृश्य में संशोधित नहीं किया जा सकता है।

-Where मैं उलझन में हो:

  • जब मैं एक आयोग है कि जोड़ दिया गया संपादित करते हैं, मैं दूसरे के साथ तुलना करना है कि क्या पहले कहा, हां, मैं एक सूची है करना चाहते हैं , कमीशन की सभी तिथियों के साथ परिभाषित किया गया है, और निर्देश में कह सकता है, एक ऐसे फ़ंक्शन को चालान करना जो सभी तिथियों के साथ एक सूची देता है जिसे मैं संपादित कर रहा हूं।

    • मैं इस तरह कुछ करना चाहता हूँ: -

    मैं कैसे इसे हल आशा

<input type="text" name="newComission_dateFrom" ng-model="newCommission.from" notincluded=myFunction({{$index}})/>

और समारोह myfunction, एक सूची से अधिक पुनरावृति जाएगा जिसमें सभी अतिरिक्त कमिश्नरडेट्स शामिल हैं और जोड़ों की सभी श्रेणियों के साथ इसकी तुलना करेंगे, अतिरिक्त कॉम में निहित सीमा को छोड़कर misionsDates [सूचकांक]।

उद्देश्य एक अलग क्षेत्र का उपयोग किए बिना एक विशेषता में अभिव्यक्ति का मूल्यांकन कर सकता है।

मैं अलग कार्यक्षेत्रों के साथ समस्याओं का एक बहुत कुछ था, और मैं इस पोस्ट के साथ सहमत होने समाप्त:

When writing a directive, how do I decide if a need no new scope, a new child scope, or a new isolate scope?


संपादित मैं देख रहा था कि कैसे ngRequire लागू किया गया था, क्योंकि ngRequire स्वीकार कर सकते हैं एनजी-की आवश्यकता होती है = "aFunction()", मैं अपने निर्देश में इस लक्ष्य पर पहुंच गया, $ पारसर्स का उपयोग कर। तो, अब मैं एक फ़ंक्शन निष्पादित कर सकता हूं! मैं इस का उपयोग कर कुछ प्रगति किया था, लेकिन मैं अपने निर्देश में समारोह पर अमल का नतीजा करना चाहते हैं, मैं इस

rangesToEval = // मेरी समारोह या अभिव्यक्ति का परिणाम की तरह कुछ पहुंचना चाहते हैं।

बातें ngRepeat है कि खोज रहे हैं, मैं क्या दायरे में समझ नहीं सकता मूल्य है कि इस समारोह वापसी है

if(attrs.notincluded) { 
      var notIncludedValidator = function(value) { 
      ngModelCtrl.$setValidity('notincluded', !attrs.notincluded); 
      return value; 
     }; 
    } 

सब अच्छा काम करता है क्योंकि मैं एक बूलियन उपयोग कर रहा हूँ, लेकिन, मैं का उपयोग करना चाहते एक सूची है कि विशेषता में expresion पर अमल का नतीजा है notincluded

// यह इनपुट एक एनजी-दोहराने

<input type="text" ng-model="commission.date" ng-required="true" notincluded="filterDatesFn({{$index}})" /> 
का हिस्सा है

मैं अपने नियंत्रक में कार्य हो:

if(attrs.notincluded) { 
      var notIncludedValidator = function(value) { 
      --put the listToEvalue here and do my comparations and validate or invalidate the form in base of the comparation That I do here. 
      return value; 
     }; 
    } 

मैं इस अनुसंधान की प्रगति पोस्टिंग की जाएगी:

$scope.filterDatesFn = function(index) { 
     // in this list, we will add the dates of the defined commissions 
     if($scope.addedCommisionsDate) { 
      var listToEvalue= []; 
      for (var i = 0; i < $scope.addedCommisionsDate.length; i++) { 
       if(i != index) { 
        listToEvalue.push($scope.addedCommisionsDate[i]); 
       } 
      } 
      return listToEvalue; 
     } 
    }; 

तो मेरा अगला उद्देश्य है करने के लिए बदल सकते हैं।

मैं आभारी हो जाएगा किसी को मदद या किसी भी विचार

बाद में मिलेंगे साझा कर सकते हैं!

उत्तर

1

क्या आपने इस निर्देश को अपने निर्देश में '' पैरामीटर जैसे पास करने का प्रयास किया है?

इस तरह:

App.directive('myDirective', function(){ 
return { 
    scope: { 
     myFc: '&'//if the name of parameter is the same in html if not use '&nameOfParameter' 
    }, 

    link: function($scope, $el, $attr){ 
     $el.bind('click', function(value){ 
      $scope.myFc(value) 
     }) 
    } 
} 

})