2016-12-01 2 views
0

У меня есть приложение углового ввода. Есть много мест, которые я использовал 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); 
       } 

       ... 
       ... 
    }) 
}); 

Все работает отлично. Но только проблема в том, что я могу видеть только номер строки заводского файла на панели проверки. Мне нужно иметь номер строки, откуда вызывается фабричная функция (например, строка no из вышеуказанного файла контроллера). Пожалуйста, ответьте с ценным предложением.

+1

Почему вы не используете 'console.trace()' так же, как и с журналом? –

ответ

1

Это функция JavaScript, а не Угловая. Вы можете использовать аргументы в такой функции. Однако номер строки не указан, но вы получаете имя вызывающего абонента.

function Hello() 
{ 
    console.log("caller is " + arguments.callee.caller.toString()); 
} 
Смежные вопросы