javascript - AngularJS:缩小后出错

标签 javascript angularjs dependency-injection

缩小我的 AngularJS 应用程序后,出现此错误:

n is not using explicit annotation and cannot be invoked in strict mode

我认为它来自这个装饰器:

(function () {


    function logDecoratorConfig($provide) {
        $provide.decorator('$log', logDecorator);
    }

    function logDecorator($delegate) {

        $delegate.debug = function (msg) {
            var time = new Date().toString();
            console.log(time + " : " + msg);
        };

        return $delegate;
    }

    angular.module('services')
        .config(['$provide', logDecoratorConfig]);
}());

可能是因为 logDecorator 函数也要注解?我应该怎么做?

最佳答案

您还需要将 $delegate 服务缩小安全注入(inject)到 logDecorator 函数中。尝试以下两个选项。

选项#1:

function logDecoratorConfig($provide) {
    $provide.decorator('$log', ['$delegate', logDecorator]);
}

选项#2:

function logDecoratorConfig($provide) {
    $provide.decorator('$log', logDecorator);
}

function logDecorator($delegate) {

    $delegate.debug = function (msg) {
        var time = new Date().toString();
        console.log(time + " : " + msg);
    };

    return $delegate;
}

logDecorator.$inject = ['$delegate'];

关于javascript - AngularJS:缩小后出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28434421/

相关文章:

java - 如何在没有组件扫描xml的情况下在spring中配置 Controller ?

grails - 配置和注入(inject) Grails 服务

c# - IOC : Wiring up dependencies on event handlers

javascript - 在angularjs中使用单个文本框加减

javascript - 捆绑和缩小导致 Angular 错误 : $injector:unpr unknown provider

javascript - Angular UI Router - 嵌套路由不适用于具有嵌套状态的模板

javascript - 如何为 HTML 5 map 绘制坐标

javascript - 有没有一种简单的方法可以将 e.target.name 以外的所有其他状态设置为 false?

javascript - 结束事件 videojs 不工作

javascript - 构造函数内的变量范围