gpt4 book ai didi

javascript - 一处可能存在严重违规,另一处则不然

转载 作者:行者123 更新时间:2023-11-28 18:28:41 26 4
gpt4 key购买 nike

我知道有几个possible strict violation这里有问题,但我无法根据它们得出结果。我正在尝试使用 var vm = this在一个类的 Controller 中,它抛出了这个错误,但我在其他 Controller 中不止一次地做了同样的事情,没有 possible strict violation错误。

这是第一个js文件。这是一个与 Controller 位于同一文件中的 Angular Directive(指令)。该错误来自 var vm = this在下面的 Controller 中。

angular.module('app.monitor').directive('scModelLegacyViewer',
scModelLegacyViewer);

function scModelLegacyViewer() {

return {
restrict : 'E',
templateUrl : 'app/monitor/monitor.html',
scope : {
config : '=',
register : '&?',
data : '=?',
allowEditingSwitch : '=?'
},
controller: scModelLegacyViewerController,
controllerAs: 'vm'
};
}

scModelLegacyViewerController.$inject = [ '$q', '$scope', '$timeout', 'config',
'logger', 'ProjectService', 'ModelService', 'InstanceService',
'BayesianService'];

function scModelLegacyViewerController($q, $scope, $timeout,
config, logger, ProjectService,
ModelService, InstanceService, BayesianService) {
var vm = this; // HERE IS THE ERROR LINE
vm.modelInstanceChannel = 'MODEL_INSTANCE';
vm.saveAll = saveAll;
...

另一个完美运行的文件是这样的,它不会抛出任何错误:

 angular
.module('app.model')
.controller('ModelController', ModelController);

//scInitialConfig added in model.route.js
ModelController.$inject = ['$document', '$interval', '$scope', '$stateParams', 'logger',
'modelService', 'scInitialConfig'];
/* @ngInject */
function ModelController($document, $interval, $scope, $stateParams, logger,
modelService, scInitialConfig) {
var vm = this;
var data = null;
vm.instance = 'default';
vm.title = 'Model Viewer';
...

我能想到的唯一区别是@第一个文件的顶部我声明了 directive但在第二个文件中它只是 controller 。不幸的是,我不是 Angular 专家,所以我不知道这是否是一个问题,但只是想这可能是错误的来源?

最佳答案

将函数 scModelLegacyViewerController 重命名为 ScModelLegacyViewerController。仅当名称以大写字母开头时,JsHint 才允许将其分配给变量。所以会是这样

angular.module('app.monitor').directive('scModelLegacyViewer',
scModelLegacyViewer);

function scModelLegacyViewer() {

return {
restrict : 'E',
templateUrl : 'app/monitor/monitor.html',
scope : {
config : '=',
register : '&?',
data : '=?',
allowEditingSwitch : '=?'
},
controller: ScModelLegacyViewerController,
controllerAs: 'vm'
};
}

function ScModelLegacyViewerController() {/*code*/}

关于javascript - 一处可能存在严重违规,另一处则不然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38577025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com