Javascript Angularjs将带参数的函数传递给指令
我有一个名为Javascript Angularjs将带参数的函数传递给指令,javascript,angularjs,Javascript,Angularjs,我有一个名为table element的指令,我是这样调用的 <div ng-controller="Test as ctrl"> <table-element edit="ctrl.editfun(ctrl.arg, 'edit')" remove="ctrl.remfun(ctrl.arg, 'rem')"> <h3>transcluded content</h3> </table-element>
table element
的指令,我是这样调用的
<div ng-controller="Test as ctrl">
<table-element edit="ctrl.editfun(ctrl.arg, 'edit')" remove="ctrl.remfun(ctrl.arg, 'rem')">
<h3>transcluded content</h3>
</table-element>
</div>
并且仍然使用正确的参数调用函数。我是Javascript新手,我不明白为什么会这样。有人能解释一下调用
$scope.edit()
时会发生什么,即在link函数中调用函数时如何发现/传递参数吗?调用这样的方法有没有潜在的问题?(这是全文) 只需阅读文档,在指令/compile一节中有很好的解释。那么我认为$scope.edit()
在控制器作用域的上下文中实际计算为'expression'ctrl.editfun(ctrl.arg,'edit')
按照“是的,你是对的。在scope config中使用&
完成。好的,谢谢。我错误地认为这是一个函数,而不是一个表达式。这是非常强大的。只要阅读文档就可以了。在指令/编译部分中有很好的解释。那么我认为$scope.edit()
在控制器作用域的上下文中实际计算为“表达式”ctrl.editfun(ctrl.arg,'edit')
按照“是的,你是对的。在scope config中使用&
完成。好的,谢谢。我错误地认为这是一个函数,而不是一个表达式。这很强大。
$scope.onClickEdit = function() {
$scope.edit();
};
$scope.onClickDelete = function() {
$scope.remove();
};