असल में, मैं निर्देश के भीतर से अभिव्यक्ति में परिवर्तन कैसे सुन सकता हूं?निर्देश के भीतर से एक अभिव्यक्ति का निरीक्षण करें
मैं गैर-दस्तावेजी ng-required
उपयोग कर रहा हूँ सशर्त एक निश्चित क्षेत्र की आवश्यकता के लिए:
<input type="checkbox" ng-model="partner" checked />
<input ng-model="partnerName" placeholder="required" ng-required="partner" />
यह काम करता है महान (here's the Plunkr)। इसके साथ एकमात्र समस्या यह है कि यह placeholder
"आवश्यक" पाठ रखता है, भले ही यह वास्तव में आवश्यक हो।
तो, मैंने अपना खुद का निर्देश बनाने का फैसला किया। यहाँ यह कैसे काम कर सकता है:
<input ng-placeholder="{ 'required': partner }" />
विचार कोणीय के ng-class
के समान है, लेकिन मैं कोई रास्ता नहीं कैसे यह पूरा करने के लिए है। यहाँ मैं अब तक क्या कर लिया है:
app.directive('ngPlaceholder', function ($parse) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
console.log(scope.$eval(attrs.ngPlaceholder));
}
}
});
जो एक अच्छा उद्देश्य यह है कि मैं placeholder
मूल्य निर्धारित करने के लिए उपयोग कर सकते हैं लॉग करता है:
{ required: true }
लेकिन कैसे मैं तो $digest
/$apply
चक्र में हुक है partner
परिवर्तन जब भी placeholder
विशेषता अद्यतन करने के लिए?
एक सुझाव: एनजी-उपसर्ग का उपयोग कोणीय के बाद से न करें, जब तक कि आप नहीं जानते कि भविष्य के संस्करण में वे उसी वाक्यविन्यास –
धन्यवाद के साथ एनजी प्लेसहोल्डर लागू करेंगे! यह सच है। हालांकि मैं सिर्फ मूल पोस्ट कोड का उपयोग करता हूं। – maxisam