2016-12-01 24 views
0

我已經構建了一個angularjs應用程序。有很多地方我使用javascript console函數。 現在我想使用一個變量來關閉這些控制檯。 我不想每次使用控制檯功能時都檢查變量。 所以我決定做一個服務來處理這個過程。如何在angularjs中找到函數調用者

控制檯工廠

AppModule 
.factory("$console", function (ENV) { 
    function log (txt) { 
     var args = arguments; 
     if(ENV.debug) { 
      console.log.apply(this, args); 
     } 
    } 
    ... 
    ... 
}); 

我叫像下面方式功能。

控制器

AppModule 
.controller('CommonCtrl', function ($scope, $console 
    $scope.personalInfo = function() { 
      $scope.errmsg = false; 
      getPersonalInfo(function (data) { 
       if(!$scope.errmsg) { 
        $console.log("userdatainfo:",data); 
       } 

       ... 
       ... 
    }) 
}); 

所有工作完美。 但只有問題是我只能看到檢查面板上的工廠文件的行號。 我需要從工廠函數調用的行號(如上面的控制器文件的行號)。 請回復有價值的建議。

+1

爲什麼不使用'console.trace()'就像你使用'log'一樣? –

回答

1

這是一個javascript功能,並不是特別的Angular。你可以在像這樣的函數中使用參數。然而,行號沒有給出,但你得到了來電者的名字。

function Hello() 
{ 
    console.log("caller is " + arguments.callee.caller.toString()); 
} 
相關問題