使用带有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;
};
});
})();
答案 0 :(得分:0)
你应该用大写字母开始服务名称,我有同样的问题,我通过使用我的服务名称与Caps解决了它。 这是定义服务或控制器的正确方法: -
(function () {
'use strict';
angular.module('randomApp')
.service('Ab', Ab);
Ab.$inject = [];
function Ab() {
this.getWorkflows = function () {
return;
};
}
})();