打字稿 - tslint错位了'否则' (一条线)

时间:2017-03-17 06:33:01

标签: javascript visual-studio-code tslint

我正在为VS Code使用TSLint扩展。我收到了大量[tslint] misplaced 'else' (one-line)警告。例如,在下面的代码示例中,linter为其他字词加下划线并给出相同的警告:

代码:

if (user.isAdmin) {
    this.uiRouter.stateService.go('app.admin');
}
else {
    this.sharedVariables.user = user;
    this.navigateByUserType(user);
}

此代码有什么问题?

2 个答案:

答案 0 :(得分:27)

来自tslint one-line rule documentation

  

规则:单行

     

要求指定的标记与...在同一行   他们之前的表达。

您启用了一个名为one-line的tslint规则,其中包含一个名为check-else的令牌。这告诉tslint警告每个else语句与前一个结束花括号不在同一行。如果将else语句向上移动到与if语句的结束大括号相同的行,则应满足tslint规则。

if (user.isAdmin) {
    this.uiRouter.stateService.go('app.admin');
} else {
    this.sharedVariables.user = user;
    this.navigateByUserType(user);
}

答案 1 :(得分:0)

始终确保结束 if 大括号和 else 语句在同一行。

这是根据 TSLint 单行规则文档。