参数 'xxxx' 隐式具有 'any' 类型
Paramater 'xxxx' implicitly has an 'any' type
我正在尝试使用接受用户信息的表单将多条记录写入本地存储。但是,我遇到了以下错误:
“参数 'user' 隐式具有 'any' 类型。”
我的代码如下:
addUserForm!: FormGroup;
user: any = {};
onSubmit(): void {
console.log(this.addUserForm.value);
this.user = Object.assign(this.user, this.addUserForm.value);
this.user(this.user);
}
addUser(user) {
let users = [];
if (localStorage.getItem('Users')) {
users = JSON.parse(localStorage.getItem('Users') || '{}');
users = [user, ...users];
} else {
users = [user];
}
localStorage.setItem('Users', JSON.stringify(user));
}
我尝试在 tsconfig.json 文件中将“noImplicityAny”设置为 false,但结果是我遇到了一个新错误:
“类型 'any' 不可分配给类型 'never'”,行:
users = [user, ...users];
} else {
users = [user];
}
除了编辑 tsconfig 文件之外的任何建议,我们将不胜感激。
编辑:
我也试过这个:
addUser(user: any)
这清除了我阻止我使用 运行 应用程序的任何错误,但是,当我尝试将新用户添加到本地存储时,我的浏览器记录了以下错误:
ERROR TypeError: this.user is not a function
您可以尝试定义一个用户界面。像
interface User {
name: string
age: number
...
}
然后将您的用户对象设置为该类型,例如 user: User
只需使用户界面的形状与您希望从表单中获得的形状相同。
这个有用吗?
addUserForm!: FormGroup;
user: any = {};
onSubmit(): void {
console.log(this.addUserForm.value);
this.user = Object.assign(this.user, this.addUserForm.value);
this.addUser(this.user);
}
addUser(user: any) {
let users = JSON.parse(localStorage.getItem('Users') || '[]');
users = [user, ...users];
localStorage.setItem('Users', JSON.stringify(users));
}
我正在尝试使用接受用户信息的表单将多条记录写入本地存储。但是,我遇到了以下错误:
“参数 'user' 隐式具有 'any' 类型。”
我的代码如下:
addUserForm!: FormGroup;
user: any = {};
onSubmit(): void {
console.log(this.addUserForm.value);
this.user = Object.assign(this.user, this.addUserForm.value);
this.user(this.user);
}
addUser(user) {
let users = [];
if (localStorage.getItem('Users')) {
users = JSON.parse(localStorage.getItem('Users') || '{}');
users = [user, ...users];
} else {
users = [user];
}
localStorage.setItem('Users', JSON.stringify(user));
}
我尝试在 tsconfig.json 文件中将“noImplicityAny”设置为 false,但结果是我遇到了一个新错误:
“类型 'any' 不可分配给类型 'never'”,行:
users = [user, ...users];
} else {
users = [user];
}
除了编辑 tsconfig 文件之外的任何建议,我们将不胜感激。
编辑:
我也试过这个:
addUser(user: any)
这清除了我阻止我使用 运行 应用程序的任何错误,但是,当我尝试将新用户添加到本地存储时,我的浏览器记录了以下错误:
ERROR TypeError: this.user is not a function
您可以尝试定义一个用户界面。像
interface User {
name: string
age: number
...
}
然后将您的用户对象设置为该类型,例如 user: User
只需使用户界面的形状与您希望从表单中获得的形状相同。
这个有用吗?
addUserForm!: FormGroup;
user: any = {};
onSubmit(): void {
console.log(this.addUserForm.value);
this.user = Object.assign(this.user, this.addUserForm.value);
this.addUser(this.user);
}
addUser(user: any) {
let users = JSON.parse(localStorage.getItem('Users') || '[]');
users = [user, ...users];
localStorage.setItem('Users', JSON.stringify(users));
}