我的应用中有几个“保存并关闭”链接,其中每个按钮都有一个独特的功能,可以在点击时运行,由指令ng-really-click
定义。该指令确认关闭,然后运行关闭功能,例如
<a ng-really-click="someCloseFunction(p1, p2)" />
现在从应用程序的其他地方,我想“假装”用户点击了保存按钮,但绕过了确认。在任何特定时刻,我都不知道应该调用哪个close函数,我必须通过查找close链接并检查其ng-really-click
属性来找出它。
一旦我在属性中定义了函数调用表达式,我想针对变量currentScope
中的作用域调用该函数。我怎么能这样做?
答案 0 :(得分:1)
我猜测Angularish的方法是每个链接使用不同的控制器。然后,让scope和rootScope成为ng-really-click函数的指针。即:
CNTRL1:
$scope.funcPointer = $rootScope.funcPointer = function() {console.log('yo1');}
CNTRL2:
$scope.funcPointer = $rootScope.funcPointer = function() {console.log('yo2');}
在视图上,使用func指针:
<div ng-controller="Cntrl1"><a ng-really-click="funcPointer(p1, p2)" /></div>
然后从应用程序的任何位置执行rootScope中的函数:
从任何Ctrl:
$rootScope.funcPointer(val1, val2);