Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs将带参数的函数传递给指令_Javascript_Angularjs - Fatal编程技术网

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();
};