Non*_*Non 6 javascript jshint angularjs
我有这个控制器
.controller('ctrl', function($scope, $rootScope, $timeout, $alert,
$location, $tooltip, $popover, BetSlipFactory,
AccordionsFactory, AuthFactory,
RiskWinCalculations) {...});
Run Code Online (Sandbox Code Playgroud)
而且,由于以下原因,我收到此错误jshint:
第10行col 44此函数有太多语句.(41)
所以,我该怎么办才能避免呢?
Rea*_*ing 12
它并不意味着管理不善的代码,因为@pankajparkar之前说过,可能是因为你有这样的东西,让我们从我的一个项目中说出来:
$scope.betLoader = false;
$scope.showIfbetAlerts = true;
$scope.displayStraight = true;
$scope.displayParlay = true;
$scope.displayIfBet = true;
$scope.displayTeaser = true;
$scope.displayPleaser = true;
$scope.displayReverse = true;
$scope.unavailableBet = false;
$scope.subAccordion = false;
$scope.betTypeShow = false;
$scope.showStraight = true;
Run Code Online (Sandbox Code Playgroud)
你可以这样做:
$scope.setInitialState = function() {
$scope.betLoader = false;
$scope.showIfbetAlerts = true;
$scope.displayStraight = true;
$scope.displayParlay = true;
$scope.displayIfBet = true;
$scope.displayTeaser = true;
$scope.displayPleaser = true;
$scope.displayReverse = true;
$scope.unavailableBet = false;
$scope.subAccordion = false;
$scope.betTypeShow = false;
};
$scope.setInitialState();
Run Code Online (Sandbox Code Playgroud)
这将解决它.
UPDATE
让我解释:
它不仅与依赖关系有关,当有太多语句时,jslint会抛出这个错误,他说在第十行之前是控制器开始的地方,所以离开那里,他应该有太多的陈述,如果你把所有那些1个函数中的语句,那些语句将减少到1 :)
nic*_*las 12
摆脱错误的最佳方法是编辑您的jshint设置以不显示它.
http://jshint.com/docs/options/#maxstatements
这是一个非常多愁善感的jshint警告,并不是什么意思.
通常,由于很多原因,需要4个或5个以上参数的函数是个坏主意,但在技术上并不是错误的.在这种情况下,这些参数是Angular定义依赖关系的方式,所以不应该是一个问题.如果代码有效,我不担心.
| 归档时间: |
|
| 查看次数: |
12645 次 |
| 最近记录: |