1 回答

TA贡献1884条经验 获得超4个赞
您可以从代码中的每个位置访问静态属性:
const model = FieldsetController.model;
静态成员(属性或方法)的特点是它们不绑定到类的任何实例。不调用就可以访问new Class(),而且不能通过实例访问。
更新
正如@Mohammad Dehghan 在评论中所写的那样,您应该避免循环依赖的问题。所以更好的方法是删除静态修饰符,并将模型传递给超级函数:
class FieldsetController extends Controller {
model = Fieldset
constructor() {
super(this.model)
}
}
然后你需要在父类构造函数中定义它:
class Controller {
model;
constructor(model) {
this.model = model;
}
index(request, response) {
// here you can get model
const data = this.model.getAll()
response.render(`admin/${model.pluralName}/index`)
}
}
当您要调用索引方法时,您需要初始化 FieldsetController 类:
const controller = new FieldsetController();
controller.index();
添加回答
举报