2016-07-26 34 views
0

我最近開始研究一個使用AngularJS的應用程序。起初看起來有點簡單的一項任務變得相當頭痛。

我們在我們的JS代碼中有很多console.log()。我將使用Angular的$ log替換它們。我認爲這會很簡單,但事實並非如此,可能是因爲我首先對Angular並不熟悉。

我已閱讀文檔,特別是$ log,$ logProvider和$ service頁面。我試圖應用給我的代碼的例子,但無濟於事。

從我從應用程序代碼中所瞭解的內容(我剛剛開始研究它),我們使用專用於配置的「主」模塊。它看起來像這樣:

var mainApp = angular.module('mainApp' 
['ui.router','datatables','ngMockE2E', 'ngResource','angularSpinner', 'ngCookies', 
'pascalprecht.translate','ui.bootstrap', 'ngFileUpload', 'angular-jwt']); 

mainApp.config(function($stateProvider, $urlRouterProvider, $httpProvider, $translateProvider) { 

// Example of what we can find here 
$translateProvider.useStaticFilesLoader(fileNameConvention); 
$translateProvider.useSanitizeValueStrategy('escaped'); 

}; 

我們已經(或幾乎全部)連接到控制器,其中mainApp被引用的每個HTML文件,如下所示:

mainApp.controller('ContractsController', ContractsController); 

從就我的理解,爲了避免在每個控制器中調用日誌,我應該在mainApp中注入它。事情是,我已經嘗試了幾種方法,但他們都沒有工作(實際上,我甚至試圖直接在控制器中使用$ log,而且它也不起作用)。

如果有人可以如此友善地指引我走向正確的方向,我會非常感激。

回答

1

注入$ log在您的控制器應該工作。你有沒有看到這example

angular.module('app', []) 

.controller('MainCtrl', ['$log', function($log){ 
    $log.debug('Hello Debug!'); 
}]); 
+0

我得到這個工作!我認爲我需要創建一個模塊,將其添加到我的mainApp和所有內容中......無論如何,爲了避免在每個控制器中重複使用這些代碼,我都需要這樣做,但是最好還是有一些工作要做。 –