我有点沮丧,因为我无法弄清楚AngularJS的$log
服务出了什么问题。虽然我不经常使用它,但我已经在我的网站的另一个部分上使用它,我能想到的唯一原因是它不起作用的原因可能与then
函数内部的块范围有关。
当我尝试运行$log.debug
时,在我的控制台中会得到以下错误:
TypeError: $log.debug is not a function
at analysis.client.controller.js:23
at processQueue (angular.js:14551)
at angular.js:14567
at Scope.$get.Scope.$eval (angular.js:15830)
at Scope.$get.Scope.$digest (angular.js:15641)
at angular.js:15869
at completeOutstandingRequest (angular.js:5387)
at angular.js:5659
这是我的分析.client.controller.js文件:
'use strict';
angular.module('analysis').controller('AnalysisController', ['$scope', '$timeout', '$mdSidenav', '$mdComponentRegistry', '$log', 'Authentication',
function($scope, $timeout, $mdSidenav, $mdComponentRegistry, $log, Authentication) {
$scope.user = Authentication.user;
// Option #1
//
// $scope.isOpen = function() { return $mdSidenav('right').isOpen(); };
// $scope.toggle = function() { $mdSidenav('right').toggle() };
// Option #2 - See https://github.com/angular/material/issues/974
$scope.toggle = angular.noop;
$scope.isOpen = function() {
return false;
};
$scope.toggleLeft = function() {
$mdSidenav('left').toggle()
.then(function() {
$log.debug('toggle left is done');
});
};
}
]);
提前感谢任何帮助!
$log
是启用的。我尝试在没有配置设置的情况下访问.debug
,它按预期工作。 - super cool