मैं एक निर्देश बनाना चाहता हूं जो एक विशेषता से जुड़ा हो। विशेषता उस फ़ंक्शन को निर्दिष्ट करती है जिसे गुंजाइश पर बुलाया जाना चाहिए। लेकिन मैं फ़ंक्शन के लिए एक तर्क भी पारित करना चाहता हूं जो लिंक फ़ंक्शन के अंदर निर्धारित होता है।
<div my-method='theMethodToBeCalled'></div>
लिंक फ़ंक्शन में, मैं एक jQuery इवेंट से जुड़ता हूं, जो एक तर्क देता है जिसे मुझे फ़ंक्शन को पास करने की आवश्यकता है:
app.directive("myMethod",function($parse) {
restrict:'A',
link:function(scope,element,attrs) {
var expressionHandler = $parse(attrs.myMethod);
$(element).on('theEvent',function( e, rowid ) {
id = // some function called to determine id based on rowid
scope.$apply(function() {expressionHandler(id);});
}
}
}
app.controller("myController",function($scope) {
$scope.theMethodToBeCalled = function(id) { alert(id); };
}
आईडी पास किए बिना मैं इसे काम कर सकता हूं, लेकिन जैसे ही मैं एक तर्क पारित करने की कोशिश करता हूं, फ़ंक्शन को अब नहीं बुलाया जाता है