我想创建一个指令链接到一个属性。属性指定应该在作用域上调用的函数。但是我还想传递一个参数给在 link 函数内部确定的函数。
<div my-method='theMethodToBeCalled'></div>
在 link 函数中,我绑定到一个 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); };
}
不传递 id 我就可以让它工作,但是一旦我尝试传递参数,函数就不再被调用了