gpt4 book ai didi

angularjs - Angular - 资源对象有时未定义?

转载 作者:行者123 更新时间:2023-12-02 04:51:49 25 4
gpt4 key购买 nike

我有一个使用 Angular 的简单应用,它以 Tastypie REST 资源为食。

我有一个使用工厂定义的资源:

app.factory("Task", function($resource) {
return $resource("/api/v1/task/:id/", {scheduling: '@scheduling', meta_only: '@meta_only'});
});

和一个具有多种功能的简单 Controller :

app.controller("TasksController", function($scope, Task){

Task.get(function(data){
$scope.tasks = data.objects;
});

$scope.markAsDone = function(task){
task.is_done = true;
task.$save();
}
}

View 有一个简单的 ng-repeat 任务和一个在 ng-change 上调用 markAsDone(task) 的复选框。还有其他几个类似的简单函数。

现在,当我调用 task.$save() 时,我有时会收到一条错误消息,提示“undefined is not a function”。我无法弄清楚我何时以及为什么会收到此错误以及不会收到此错误,因为它有时会按预期工作。在这两种情况下,我确实设法在函数中记录了“任务”,并且可以肯定的是,当错误发生时,它是一个对象,而当它没有发生时,它具有 Angular 使用的所有这些定义的属性和函数。

我错过了什么?

最佳答案

添加检查为

$scope.markAsDone = function(task){
if(typeof task !== undefined){
task.is_done = true;
task.$save();
}
}

关于angularjs - Angular - 资源对象有时未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473926/

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