我正在用猫鼬的打字稿创建模型,我想使用必需的功能,但是与普通的javascript不同,我不能使用'this'运算符,因为打字稿无法识别范围。我想访问另一个对象属性的值,但是我不确定该怎么做。这是我在寻找的东西:
export interface IUser extends mongoose.Document {
name: string;
somethingElse?: number;
};
export const UserSchema = new mongoose.Schema({
name: {type:String, required: true},
somethingElse: required: function() {
// use this.name here ......
}
});
const User = mongoose.model<IUser>('User', UserSchema);
在此示例中,我希望能够访问“ this.name”,但是打字稿无法理解该方法。在打字稿中执行此操作的正确方法是什么?
谢谢。
答案 0 :(得分:-1)
不确定这是否是最好的方法,但是您尝试过吗?
export interface IUser extends mongoose.Document {
name: string;
somethingElse?: number;
};
export const UserSchema = new mongoose.Schema({
name: {type:String, required: true},
});
UserSchema.obj.somethingElse.required = function () {
// use this.name here ......
}
const User = mongoose.model<IUser>('User', UserSchema);