मापदंडों scope
, element
, और attrs
प्रलेखन here के अनुसार, अपने कस्टम निर्देश के लिए परिभाषित कर रहे हैं, लेकिन आप अपने तरह के उनका नाम बदल सकते हैं।
scope
: यह आपके कस्टम निर्देश के लिए गुंजाइश, एक नियंत्रक में $scope
element
के समान है: इस में विशेषताओं का सेट है: यह अपने कस्टम निर्देश का तत्व
attrs
है आपका कस्टम निर्देश। (तत्व के गुण, सुधार के लिए @zeroflagL करने के लिए धन्यवाद किया जाना चाहिए!)
उदाहरण के लिए, यदि आप myDirective
नामक कस्टम निर्देश का निर्माण, और आप शायद इस तरह अपने html partials में यह प्रयोग करेंगे:
<my-directive num-rows="3"></my-directive>
यहाँ, num-rows
अपने निर्देश के लिए एक विशेषता है, और आप अपने link
समारोह में अपने मूल्य प्राप्त कर सकते हैं:,
function link(scope, element, attrs) {
console.log('num-rows:', attrs.numRows);
//you can change its value, too
attrs.$set('numRows', '10'); //attrs setter
//you can watch for its changes to trigger some event
attrs.$observe('numRows', function(newVal) {
console.log('trigger some event for the changes in numRows here');
});
}
इसके अलावा ऊपर के लिंक समारोह में, आप तत्व/निर्देश के लिए बाध्य कर सकते हैं एक क्रिया:
element.bind('click', function() {
console.log('do something with the click event');
});
मेरा सुझाव है कि आप दस्तावेज़ पढ़ने में कुछ समय बिताएं। लिंक फ़ंक्शन एक चौथा पैरामीटर ले सकता है जो आपके कस्टम निर्देश में आवश्यक किसी अन्य निर्देश का नियंत्रक है। उदाहरण के लिए:
require: '^ngModel'
....
function link(scope, element, attrs, ngModelCtrl) {
....
}
पर कुछ भी नहीं है, आपको इसे Google पर करने की आवश्यकता है .. यह एक अच्छा लिंक है कि यह कैसे काम करता है http://www.angularjshub.com/examples/customdirectives/compilelinkfunctions/ –