1

无法在销毁函数中访问 $scope 和 Food。

foodProject.controller('FoodsCtrl', function($scope, Food) {

    $scope.foods = Food.index();
    $scope.destroy = function(food){
        debugger;
        console.log(Food, $scope);
        food.$destroy();
    };
});

局部范围变量仅

食物:资源

这个:$get.e.$new.a

我找不到 $scope 和 Food

http://jsfiddle.net/fW2EA/1/ http://jsfiddle.net/wizztjh/fW2EA/3/

4

2 回答 2

2

将此行包含在您的销毁函数中(您的小提琴中缺少它):

console.log(Food, $scope);

然后在你的调试器中,检查范围变量的闭包部分(我使用的是 Chrome),当你在断点处停止时。Food并且$scope在那里(正如人们所期望的那样!)。

this在 destroy 函数的上下文中是 ng-repeat 中的新范围,因此与 不同$scope,尽管两者都是范围。

于 2012-09-25T08:44:10.077 回答
1

在您的功能内,this是范围,例如this.foods.

我相信,如果您希望Food可访问,请将其添加到范围,即$scope.Food = Food;.

我仍然是菜鸟,不确定添加Food$scope是否是正确的做法。

于 2012-09-25T05:48:11.703 回答