打字稿 - tslint放错了'else'(单行)

Emr*_*mre 9 javascript tslint visual-studio-code

我正在为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);
}
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题?

jon*_*tem 32

来自tslint单行规则文档

规则:一线

要求指定的标记与它们之前的表达式位于同一行.

启用了tslint规则,并调用one-line指定的令牌check-else.这告诉tslint警告每个else与前一个结束花括号不在同一行的语句.如果将else语句向上移动到与if语句的结束大括号相同的行,则应满足tslint规则.

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