2013-06-18 51 views
0

我有一个角应用程序下面的代码:JSHint链接方法调用

'use strict'; 

angular.module('fooApp') 
    .controller('FooCtrl', function ($scope) { 

    }); 

当我在此代码运行JSHint(与缩进设置为4),我收到以下错误:

[L6:C5] W015: Expected '}' to have an indentation at 1 instead at 5. 
    }); 

我如何获得JSHint让我保持链式缩进?

更新

我发现,如果我添加一个身体向FooCtrl功能是这样的:

'use strict'; 

angular.module('fooApp') 
    .controller('FooCtrl', function ($scope) { 
     $scope.foo = {}; 
    }); 

然后它通过JSHint。有人知道为什么

回答

2

我不相信有办法做到这一点。 JSHint中的空白检查相当静态,你可以打开或关闭,不需要配置。有一个开放的赏金来添加一些配置,但似乎没有任何工作(至少对于你的情况)。

https://github.com/jshint/jshint/issues/28

你要么必须忽略它或关闭空白支票。

+0

我发现如果我添加一个body到'FooCtrl'函数,那么它会通过JSHint检查......我只是不知道为什么。 – cdmckay

+0

我不使用JSHint或JSLint,但我想它具有特殊的回调函数规则。没有函数体,JSHint可能不会将其识别为回调函数。 – GJK

1

简单地说:你没有。要么从配置文件中删除所有缩进检查,要么您与crockford的建议相匹配。关于提供更灵活的规则有一个open bug,但它必须实施。

将代码提交给JSHint后,实现更灵活的方式来检查空格并不困难。除非有很多情况需要检查......主要问题是找到一种智能方法来微调缩进首选项。

+0

检查我的更新问题。 – cdmckay

+0

我认为这可以被视为一个bug,你可以在jshint的github上报告。 – zmo