【发布时间】:2016-09-09 22:05:51
【问题描述】:
我正在尝试在打字稿中创建一个带有子对象的对象。我正在尝试设置一个猫鼬模式,如this question 所示。
如果我将对象和子对象定义为接口,我将无法在可以设置为猫鼬模式的常量中使用它们。
那么有没有办法让我不必输入整个子对象两次,一次在接口中,一次在常量中?
export interface Pizza {
flavor: String;
size: String;
}
export interface Menu {
pizza: Pizza
}
// Doesn't work
export const Menu = {
store: String,
menu: Menu
}
// Works
export const Menu = {
store: String,
menu: {
pizza: {
flavor: String,
size: String
}
}
}
// What I really want
export const Menu = new mongoose.Schema({
store: String,
menu: Menu
});
// What I'm doing right now
export const Menu = new mongoose.Schema({
store: String,
menu: {
pizza: {
flavor: String,
size: String
}
}
});
【问题讨论】:
-
你的代码中也有
Menus。你希望它是一个接口还是一个变量/常量? -
@NitzanTomer 我只是将它们都放在那里进行比较,说明我想要什么以及我必须使用什么。我想使用接口中的 const 或者实现同样事情的方法。
标签: mongoose typescript