requireअनुदेश आप निर्देश है कि आप अपने को चौथा तर्क के रूप में नाम के लिए नियंत्रक देता linkकार्य करते हैं। (आप ^मूल तत्व पर नियंत्रक को देखने के लिए उपयोग कर सकते हैं , ?इसे वैकल्पिक बनाता है।) तो require: 'ngModel'आपको ngModelनिर्देश के लिए नियंत्रक देता है , जो किngModelController ए ।
निर्देश नियंत्रक को एपीआई प्रदान करने के लिए लिखा जा सकता है जिसे अन्य निर्देश उपयोग कर सकते हैं; के साथ ngModelController, आप विशेष कार्यक्षमता तक पहुँच प्राप्त करते हैं ngModel, जिसमें मूल्य प्राप्त करना और सेट करना शामिल है। निम्नलिखित उदाहरण पर विचार करें:
<input color-picker ng-model="project.color">
app.directive('colorPicker', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, ngModel) {
element.colorPicker({
// initialize the color to the color on the scope
pickerDefault: scope.color,
// update the ngModel whenever we pick a new color
onColorChange: function(id, newValue) {
scope.$apply(function() {
ngModel.$setViewValue(newValue);
});
}
});
// update the color picker whenever the value on the scope changes
ngModel.$render = function() {
element.val(ngModel.$modelValue);
element.change();
};
}
}
});
यह निर्देश ngModelcolorpicker से रंग का मान प्राप्त करने और सेट करने के लिए नियंत्रक का उपयोग करता है । इस JSFiddle उदाहरण देखें: http://jsfiddle.net/BinaryMuse/AnMhx/
यदि आप उपयोग कर रहे हैं require: 'ngModel', तो आपको संभवतः अपने अलग-अलग दायरे में भी उपयोग नहीं करना चाहिए ngModel: '='; ngModelControllerआप सभी का उपयोग आप मूल्य बदलने की जरूरत है देता है।
AngularJS होमपेज पर नीचे का उदाहरण भी इस कार्यक्षमता का उपयोग करता है (एक कस्टम नियंत्रक का उपयोग करने के अलावा, नहीं ngModel)।
एक निर्देशन के आवरण के लिए, उदाहरण के लिए, ngModelबनाम ng-modelबनाम data-ng-model: जबकि एंगुलर डोम पर कई रूपों का उपयोग करने का समर्थन करता है, जब आप नाम से एक निर्देश का उल्लेख करते हैं (उदाहरण के लिए, एक निर्देश बनाते समय, या उपयोग करते हुए require), तो आप हमेशा लोअरकेस का उपयोग करें नाम का रूप।
ng-model='property'