用小写命名的Angular 1服务的Brackets中的JSHint错误消息

时间:2017-08-03 07:29:30

标签: javascript angularjs jshint adobe-brackets

使用带有JSHint扩展和Angular的括号。

对于这个Angular服务脚本,JSHint没有显示错误:

(function () {
    'use strict';

    angular.module('randomApp')
        .service('Ab', Ab);

    Ab.$inject = [];

    function Ab() {
        this.getWorkflows = function () {
            return;
        };
    }
})();

但如果我将服务名称更改为小写:

(function () {
    'use strict';

    angular.module('randomApp')
        .service('ab', ab);

    ab.$inject = [];

    function ab() {
        this.getWorkflows = function () {
            return;
        };
    }
})();

JSHint中出现错误说:

如果使用函数调用执行严格模式函数,则'this'值将是未定义的

编辑:如果我将函数放在服务声明中,即使是小写,错误也会消失:

(function () {
    'use strict';

    angular.module('randomApp')
        .service('aB', function () {
            this.getWorkflows = function () {
                return;
            };
        });
})();

1 个答案:

答案 0 :(得分:0)

你应该用大写字母开始服务名称,我有同样的问题,我通过使用我的服务名称与Caps解决了它。 这是定义服务或控制器的正确方法: -

(function () {
'use strict';

angular.module('randomApp')
    .service('Ab', Ab);

Ab.$inject = [];

function Ab() {
    this.getWorkflows = function () {
        return;
    };
}
})();