不知道我做錯了,但我有這個類/模塊:TS2351:不能對類型缺少調用或構造簽名的表達式使用「新」。貓鼬
import * as Mongoose from 'mongoose';
import * as _ from 'lodash';
import * as Promise from 'bluebird';
import { db } from '../lib/database';
let mongoose = Mongoose;
mongoose.Promise = Promise;
export class BaseModel {
constructor(schemaObj: {}, modelName: string, statics?: {}) {
let Schema = new mongoose.Schema(schemaObj)
Schema.statics.list = function() {
return this.find()
}
Schema.statics.save = function (dataObj) {
return this.save(dataObj)
}
if (statics) {
for (let key in statics) {
Schema.statics[key] = statics[key];
}
}
return mongoose.model(modelName, Schema);
}
}
let schema = {
title: String,
}
let Message = new BaseModel(schema, 'message');
let j = new Message({title: 'Hello World'}).save().then(function (res) {
console.log(res);
})
一切實際工作的擊打打字稿抱怨:
TS2351:不能使用'新「,表達式的類型缺少調用或構造簽名。
我知道我錯過了一些東西,但我無法弄清楚什麼。
舊版本和新版本沒有幫助。在這種情況下,如何添加一個新的構造函數?已經看了很多資源,並做了很多修補與它,只是似乎無法弄清楚。 –