Javascript 在同一控制器节点上调用函数
我在带有expressjs的nodejs中有以下控制器,我试图调用同一控制器中的函数,但我有以下错误响应:this.editarAluno不是一个函数 控制器Javascript 在同一控制器节点上调用函数,javascript,node.js,express,Javascript,Node.js,Express,我在带有expressjs的nodejs中有以下控制器,我试图调用同一控制器中的函数,但我有以下错误响应:this.editarAluno不是一个函数 控制器 Aluno控制器是一个对象 您应该考虑重新定义如何构造控制器 使用以下代码,这是控制器类中的作用域 class AlunoController { criarAluno(req, res) { this.editarAluno(req, res); } editarAluno(req, res) { conso
Aluno控制器是一个对象 您应该考虑重新定义如何构造控制器 使用以下代码,这是控制器类中的作用域
class AlunoController {
criarAluno(req, res) {
this.editarAluno(req, res);
}
editarAluno(req, res) {
console.log('Ok....');
}
};
module.exports = new AlunoController();
我会这样做:
var alunoController = {
criarAluno: function (req, res) {
alunoController.editarAluno(req, res);
},
editarAluno: function (req, res) {
console.log('Ok....');
},
};
module.exports = alunoController;
不要指望这一点,而是alunoController,因为我认为这与criarAluno有关,而不是与alunoController有关。调用抛出错误的方法的代码在哪里?每当出现此错误时,问题最有可能出现在调用函数的地方,而不是定义函数的地方。你能告诉我们你叫alunoController的地方吗。criarAluno?我在路线内打电话。router.post'/',security.isLoggedIn,alunoController.criarAluno;这两种情况都是一样的。OPs问题最有可能是因为他们调用了criarAluno并改变了它好的,@candybeer,我现在在这里进行测试。@EdeGerSil只是出于好奇,它对你有用吗?对控制器的调用必须针对这种类型进行更改,所以我没有采用这种方法,但是我在另一个项目上做了一个独立的测试,它也能工作。好的,我现在在这里参加测试。它工作了,谢谢你的回复。@邓32
var alunoController = {
criarAluno: function (req, res) {
alunoController.editarAluno(req, res);
},
editarAluno: function (req, res) {
console.log('Ok....');
},
};
module.exports = alunoController;