在角度工厂中丢失':'导致IE崩溃

时间:2016-06-28 15:47:19

标签: javascript angularjs internet-explorer

我在Angular中有一个工厂用于将某些消息输出到控制台,但在IE中我遇到了严重错误

JavaScript critical error at line 1700, column 9 in http://localhost:61246/Scripts/CustomScripts/app.js\n\nSCRIPT1003: Expected ':'

第1700行第9列是逗号, Info我将常量传递回控制器,但我不明白为什么IE期望冒号。

app.factory("ToConsole", ["$http", "$log", function ($http, $log) {
    const Info = 0;
    const Warning = 1;
    const Error = 2;
    const Debug = 3;
    const Alarm = 4;

    return {
        log: function (Description, Type) {
            switch (Type) {
                case 0:
                    $log.info(Description);
                    break;
                case 1:
                    $log.warn(Description);
                    break;
                case 2:
                    $log.error(Description);
                    break;
                case 3:
                    $log.debug(Description);
                    break;
                default:
                    $log.info(Description);
                    break;
            }
        }
        , Info
        , Warning
        , Error
        , Debug
        , Alarm
    }
}]);

2 个答案:

答案 0 :(得分:0)

Pankaj是对的

, Info: Info
, Warning: Warning
, Error: Error
, Debug: Debug
, Alarm: Alarm

修正了问题

答案 1 :(得分:0)

这是因为列出的对象不是键值对格式。你有没有创造这些争论的原因?

我认为您可以将它们放入数组并通过索引访问它们,而不是将它们作为键值对传递。

var messages = ["Info", "Warning", "Error", "Debug", "Alarm"];