我正在尝试制作一个dropdownlist指令,我希望它有一个像onItemSelected="myCallbackFunction(selectedItem)"
这样的属性,我该怎么办呢?有人可以提供一个例子吗?
答案 0 :(得分:2)
您可以使用&
绑定(隔离范围函数表达式绑定)
.directive("sample", [function() {
return {
restrict: "A",
scope: {
myFunc: "&"
},
link: function(scope, elem, attrs) {
scope.myFunc(); //whenever you wanna call it
}
}
}])
和HTML
<div sample my-func="someScopeFunction()"></div>
我建议阅读:https://gist.github.com/CMCDragonkai/6282750以获取指令绑定说明。
答案 1 :(得分:0)
要补充tymeJV的answer,如果您不使用隔离范围,则可以使用$eval
或$parse
。
app.directive('sample', function($parse){
return {
restrict:'A',
link:function(scope, elem, attrs) {
$parse(attrs.evt)(scope);
scope.$eval(attrs.eval);
}
};
});