我有以下代码:
(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
我收到此警告消息:
如果使用函数调用执行严格模式函数,则其“this”值将未定义。
我该如何解决这个问题?
编辑:
我不知道为什么这个问题被标记为重复。
编辑2:
当我使用Controller
而不是 时,我解决了这个问题controller
,这必须处理Constructor Invocation Pattern
,因为当您需要通过“new”关键字构造对象时,您应该将函数名称的第一个字符大写,var pm = this
在这种情况下就是这样。