如何知道谁是AngularJS中的调用方函数
How to know who is the caller function in AngularJS?
我定义了这样的函数
$scope.func1 = function(){
//some task done here;
$scope.func2 = functin(){
//some other task done here
}
}
现在在控制器中,我调用了 func1;但是直接调用func2是写在模板上的,例如
<div class="someclass">{{func2 ()}}</div>
<div class="someRandomLinks" ng-click="sometask()">clickMe</div>
现在,当浏览器遵守/执行此行时,一旦调用func2(),但是除此之外,它也会在某个task()上调用。但我没有发现这两件事之间的任何绑定或联系。
我知道我对我所面临的情况给出了一个非常非常模糊和模糊的图像。如果您需要更多代码或确切代码,请发表评论。我没有在这里发表确切评论的原因是它非常大且混乱,我不确定问题出在哪一部分。
注意:我认为我的问题没有得到理解。我想知道的是"是否有可能知道谁在调用func2(),每当它被调用时??
也许..
$scope.func1 = function() {
...
// some task done here;
}
$scope.func2 = function() {
...
some other task done here
}
在您的示例中,func2
是在 func1
中定义的。
编辑:
func2
是直接调用的,因为您直接在模板中调用它。此外,如果函数只是在另一个函数中定义,则不会直接执行函数。
说
function a() {
...
function b() {
..
}
}
a(); // This does not launch b().
编辑2:
您的func2
再次被调用可能是因为您在模板中调用它。这就是为什么当您单击时,模板会刷新(消化)并再次运行。
没有足够的声誉来评论所以回答..
您正在 func1 中定义 func2。它不会打电话。您必须明确调用。
$scope.func2 = function() {
...
some other task done here
}
$scope.func1 = function() {
...
// some task done here;
$scope.func2();
}
我不确定我是否完全理解你的问题,但我会尝试。
问题是,只有在运行func1
时,您才定义func2
。
结果是{{func2()}}
被评估为未定义,因此您看不到任何内容。
看看这个JSFiddle
我想
你可以使用它(如果我猜对了)
<div class="someclass">{{func2 ($event)}}</div>
<div class="someRandomLinks" ng-click="sometask($event)">clickMe</div>
比在 Ctrl 中:
function func2(event) { ..... }
function sometask(event) { ... }
通过该事件,您可以让元素触发函数。
因此,通过这种方式,您有两个测试用例。
- 函数
func2
在浏览器完成加载时调用。 - 函数
func2
由sometask()
调用
因此,当您调用func2
时,sometask()
传递了其他参数,例如
$scope.func2 = function(str) {
if(str==1010)
console.log("I have called by sometask");
}else{
console.log("I have called by browser..");
}
}
$scope.sometask = function() {
$scope.func2(1010);
}
相关文章:
- 构造函数函数闭包变量
- 构造函数函数中的自执行函数的OO上下文/范围
- 为什么在构造函数函数中使用此关键字
- 正在将构造函数函数迁移到TypeScript
- 获取构造函数函数的最佳方式是在JavaScript中使用带名称空间的字符串表示
- 为什么可以't我使用'var'在构造函数函数中
- 获取自定义对象构造函数函数名
- 在构造函数函数中创建只读(get)属性
- 正在检查类型构造函数函数
- Javascript中的内置构造函数函数
- 如何在JavaScript中的函数(函数本身就是一个参数)中传递参数
- 构造函数函数原型可枚举
- 为什么要设置原型's构造函数转换为其构造函数函数
- 从另一个javascript程序调用函数-函数式编程
- 构造函数函数.可以't覆盖对全局变量的引用
- 我得到一个函数a和函数C.函数B在函数中
- 使用构造函数函数的Javascript继承
- 将数组传递给函数-函数内部的数组为空
- 是否可以在“父"”之外调用函数?函数
- 使用状态"onEnter"触发控制器内部的一个函数;函数