将$ log注入每个控制器和服务

Bri*_*n F 6 angularjs angularjs-log

有没有办法将AngularJS的$ log注入每个服务和控制器?它只是觉得有点多余,为每一个指定它.

Pie*_*len 1

如果不在函数参数中定义它,注入对我来说似乎是不可能的。但您可以使其可用:

var $log;
app.run(['$log',function(logService) {
   $log = logService;
}]);

app.controller('MainCtrl', function($scope, myService) {
    $log.warn('Controlling');
});  

app.service('myService', function() {
    $log.warn('Ha!');
    return {};
});
Run Code Online (Sandbox Code Playgroud)

http://plnkr.co/edit/Zwnay7dcMairPGT0btmC?p=preview

另一种方法是将其设置为全局变量(window.$log),但我不会这样做。