Pregunta mecanografiado - tslint extraviado 'else' (una línea)


Estoy usando la extensión TSLint para VS Code. Tengo un montón de [tslint] misplaced 'else' (one-line) advertencias Por ejemplo, en el ejemplo de código a continuación, linter subraya la palabra else y da la misma advertencia:

Código:

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

¿Cuál es el problema con este código?


5
2018-03-17 06:33


origen


Respuestas:


Desde el tslint documentación de la regla de una sola línea

Regla: una línea

Requiere que los tokens especificados estén en la misma línea que   la expresión que los precede.

Tienes una regla tslint habilitada llamada one-line con un token especificado llamado check-else. Esto le dice a tslint que avise por cada else declaración que no está en la misma línea que la llave de cierre final anterior. Si sube la instrucción else a la misma línea que el corchete final de la instrucción if, la regla tslint debería cumplirse.

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

16
2018-03-18 10:43