未定义AngularJS常量

时间:2016-08-10 02:42:27

标签: javascript angularjs

我正在尝试以Angular Formly形式设置一些验证。下面是我的代码片段。当我运行应用程序时,我得到一个未知的provider error

genericFormApp.run(function (formlyConfig, formlyValidationMessages, conf) 
{console.log(conf)}

如果我将run函数更改为: #mydiv { all: initial; /* blocking inheritance for all properties */ } 该应用运行。

现在,如果我尝试访问conf,我会收到未知的提供程序错误: App Icons Source

2 个答案:

答案 0 :(得分:0)

试试这个,正在运作

genericFormApp.constant('conf', (function () {
                var conf = {
                    validation: {
                        stringMessages: {
                            required: "Required.",
                            email: "Must be a valid email address.",
                            // generic
                            valid: "Must be a valid value."
                        },
                        toMessages: [
                            {
                                name: "valid",
                                prop: "datepicker",
                                prefix: "",
                                postfix: "",
                                defaultMessage: "Must be a valid date."
                            }
                        ]
                    }
                };
                return conf;
            })())

答案 1 :(得分:0)

我的问题是(因为我正在使用Visual Studio),发生的缩小导致run函数无法运行。我不得不注入名字:

genericFormApp.run(['formlyConfig', 'formlyValidationMessages', 'conf', function(formlyConfig, formlyValidationMessages, conf) {

    // set types here
        var i, k, str = conf.validation.stringMessages, to, toMess = conf.validation.toMessages;
    // generic messages
    for (i in str) {
        formlyValidationMessages.addStringMessage(i, str[i]);
    }
    // template option messages, to optionally override
    for (i in toMess) {
        to = toMess[i];
        formlyValidationMessages.addTemplateOptionValueMessage(to.name, to.prop, to.prefix, to.postfix, to.defaultMessage);
    }

}]);