[英]TSLint mistakes in angular 2
I have several mistakes in my code. 我的代码中有几个错误。 I'm use Angular 2 + TSLint:
我使用Angular 2 + TSLint:
constructor(http: Http) {
this.http = http;
--> let currentUser = JSON.parse(localStorage.getItem("currentUser"));
this.token = currentUser && currentUser.token;
}
In currentUser i have this error: message: 'expected variable-declaration: 'currentUser' to have a typedef
; 在currentUser中,我有此错误:
message: 'expected variable-declaration: 'currentUser' to have a typedef
;
public loginC (username: string, password: string): Observable<boolean> {
return this.http.post( authURL + loginURL,
--> JSON.stringify({ password: password, username: username }))
.map((response: Response) => {
let token: string = response.json() && response.json().token;
if (token) {
this.token = token;
--> localStorage.setItem("currentUser", JSON.stringify({token: token, username: username}));
return true;
} else {
return false;
}
});
}
And in password: password, username: username
this: message: 'Expected property shorthand in object literal.
并在
password: password, username: username
此: message: 'Expected property shorthand in object literal.
I really understand this. 我真的很明白 And finalli i can write a simple
model: any {}
; 最后,我可以编写一个简单的
model: any {}
;
export class LoginComponent {
--> public model: any = {};
public loading: boolean = false;
public error: string = "";
constructor (private router: Router, private authenticationService: ServerDataComponent) {
//
}
public login(): void {
this.loading = true;
this.authenticationService.loginC(this.model.username, this.model.password)
.subscribe(result => {
--> if (result === true) {
this.router.navigate(["/table_per"]);
} else {
this.error = "Введен неверный логин и/или пароль";
this.loading = false;
}
});
}
For any - Type declaration of 'any' is forbidden
; 对于任何
Type declaration of 'any' is forbidden
;
Ror result - expected arrow-parameter: 'result' to have a typedef
Ror结果-
expected arrow-parameter: 'result' to have a typedef
For expected variable-declaration: 'currentUser' to have a typedef
you can define an interface
for your custom type. 对于
expected variable-declaration: 'currentUser' to have a typedef
您可以定义自定义类型的interface
。
export interface User {
token: string;
}
And use it to set the type. 并使用它来设置类型。
let currentUser: User = JSON.parse(localStorage.getItem("currentUser"));
For Expected property shorthand in object literal
you can use the shorthand syntax when the key name matches the name of the variable. 对于
Expected property shorthand in object literal
当键名与变量名匹配时,可以使用速记语法。
JSON.stringify({token, username})
For Type declaration of 'any' is forbidden
you can try to change the type to Object
. 对于
Type declaration of 'any' is forbidden
您可以尝试将类型更改为Object
。 If not you'll need to declare another interface
for your model. 如果不是,则需要为模型声明另一个
interface
。
public model: Object = {};
For expected arrow-parameter: 'result' to have a typedef
you need to set the type of the parameter. 对于
expected arrow-parameter: 'result' to have a typedef
您需要设置参数的类型。
.subscribe((result: boolean) => {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.