以下定义的函数将从循环
打开一个对话框 $http.post(url,req, "")
.then(function (response) {
for (var r = 0; r < response.data.items.length ; r++){
foo(response.data.items[r], r);
}
function foo(i, j) {
$rootScope.dialogOpen = function () {
alert('i = ' + i + ', j = ' + j );
}
}
调试时我可以点击该功能,但对话框没有打开。出了什么问题。
答案 0 :(得分:0)
在我看来$rootScope.dialogOpen()
被定义但从未被调用过。函数体[{1}}声明foo
,但永远不会调用它。
我不确定您的应用是如何构建的,但几乎可以肯定您不应该在$rootScope.dialogOpen()
内定义$rootScope.dialogOpen()
。 dialogOpen函数应在其他地方声明,例如在主控制器中,并由foo
调用,即:
foo