Сообщение об ошибке JSHint в скобках для службы Angular 1, названное строчными буквами

Использование скобок с расширением JSHint и угловой.

Для этого сервисного скрипта 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 ответ

Вы должны начать имя службы с заглавных букв, у меня была та же проблема, и я решил ее, используя название службы с заглавными буквами. Это правильный способ определить сервис или контроллер:

(function () {
'use strict';

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

Ab.$inject = [];

function Ab() {
    this.getWorkflows = function () {
        return;
    };
}
})();
Другие вопросы по тегам