我有以下代码:
(function () {
'use strict';
angular.module('gestion').controller(
'controller',
controller);
controller.$inject = ['$mdDialog',
'locals'];
function controller($mdDialog, locals) {
var pm = this;
pm.cancel = function () {
$mdDialog.hide();
};
pm.validate = function () {
$mdDialog.hide();
locals.parentScope.remove();
};
}
})();
问题在于,当我运行jshint
时,我收到此警告消息:
如果使用函数调用执行严格模式函数,则为 '这'价值将是未定义的。
我该如何解决这个问题?
我不知道为什么这个问题被标记为重复。
当我使用Controller
而不是controller
时,我解决了这个问题,这必须处理Constructor Invocation Pattern
,因为当你使用时,你应该将函数名的第一个字符大写需要通过" new"来构建对象。关键字,var pm = this
在这种情况下执行。