0

我有以下代码:

(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在这种情况下就是这样。

4

0 回答 0