gpt4 book ai didi

javascript - MeanJS堆栈,调试Angular错误: fnPtr is not a function

转载 作者:行者123 更新时间:2023-12-03 09:27:51 26 4
gpt4 key购买 nike

我正在学习 MeanJS 堆栈(Mongo、Express、Angular、Node)并编写一个简单的待办事项 Web 应用程序。我可以列出所有待办事项并创建一个新待办事项。当我“编辑”待办事项时,遇到此错误:

TypeError: fnPtr is not a function

我假设我有一些命名或语法错误(基于 thisthis SO 问题)问题是我不知道在哪里寻找错误的命名或错误的语法,因为文件结构非常大(“app”和“public”映射是 484 个文件)。我没有进入 todo.client.controller 也没有进入“todo.server.controller”更新功能,因为那里有一个不会打印的控制台日志。编辑按钮是一个提交输入,但我不知道它接下来会去哪里。

代码:

片段形式“编辑”页面

<div class="form-group">
<input type="submit" value="Update" class="btn btn-default">
</div>

客户端 Controller :

    // Update existing Todo
$scope.update = function() {
console.log('update');
var todo = $scope.todo;
todo.$update(function() {
$location.path('todos/' + todo._id);
}, function(errorResponse) {
$scope.error = errorResponse.data.message;
});
};

服务器 Controller :

/**Update a Todo*/
exports.update = function(req, res) {
console.log('todo controller');
var todo = req.todo;
todo = _.extend(todo, req.body);
Todo.update({_id: req.body._id}, req.body, function(err, update) {
//todo.save(function(err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(todo);
}
});
};

任何有使用 MeanJS 堆栈或 Angular 经验的人都可以为我指明开始调试的方向吗?

最佳答案

您尚未将 ng-click 添加到“更新”提交按钮。

将代码更改为:

<div class="form-group">
<input type="submit" value="Update" ng-click="update()" class="btn btn-default">
</div>

对于 fnPtr 错误,请添加完整的堆栈跟踪以便对其进行分析。

还要检查您的代码是否已关闭所有括号,您没有对 2 个变量使用相同的名称和拼写错误。

关于javascript - MeanJS堆栈,调试Angular错误: fnPtr is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31608184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com