功能在Angular中不起作用

时间:2016-10-11 03:07:51

标签: javascript angularjs

以下定义的函数将从循环

打开一个对话框
 $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 );
        }
}

调试时我可以点击该功能,但对话框没有打开。出了什么问题。

1 个答案:

答案 0 :(得分:0)

在我看来$rootScope.dialogOpen()被定义但从未被调用过。函数体[{1}}声明foo,但永远不会调用它。

我不确定您的应用是如何构建的,但几乎可以肯定您不应该在$rootScope.dialogOpen()内定义$rootScope.dialogOpen()。 dialogOpen函数应在其他地方声明,例如在主控制器中,并由foo调用,即:

foo