/ / Проблеми с метода на обновяване в angularjs - angularjs, angular-resource

Проблеми с метода на обновяване в angularjs - angularjs, ъглово ресурс

Искам да актуализирам моя обект json с PUT метод, използвайки функцията за актуализация в angularjs, но след използване на метода за актуализация получавам грешката на:

angular.js:14324 TypeError: menuFactory.getDishes(...).update is not a function
at b.$scope.submitComment (controllers.js:104)
at fn (eval at compile (angular.js:15152), <anonymous>:4:159)
at e (angular.js:26673)
at b.$eval (angular.js:17958)
at b.$apply (angular.js:18058)
at HTMLFormElement.<anonymous> (angular.js:26678)
at bg (angular.js:3613)
at HTMLFormElement.d (angular.js:3601)

Това е моят код на service.js:

.service("menuFactory", ["$resource", "baseURL", function($resource,baseURL) {
this.getDishes = function(){
return $resource("localhost:3000/"+"dishes/:id",{update:{method:"PUT" }});

};
}])

и това е кодът на моя контролер:

 .controller("DishCommentController", ["$scope", "menuFactory", function($scope,menuFactory) {

$scope.mycomment= {rating:"5", comment:"", author:""};

$scope.dish.comments.push($scope.mycomment);

menuFactory.getDishes().update({ id:$scope.dish.id }, $scope.dish);
}])

защо ъгловата не разпознава метода на обновяване,Имах същите проблеми с метода на получаване, но след актуализиране на моята ъглова до 1.6.0 версия на проблема с решен метод. но сега имам същия проблем с метода Update.

Какво правя тук?

Отговори:

0 за отговор № 1

Мисля, че може да се обадите на $ resource неправилно.

документация и вижте използването:

$resource(url, [paramDefaults], [actions], options);

Изпращали сте действия като параметри paramDefault, така че просто въведете празен литерал за този параметър, освен ако не искате да го персонализирате.

промяна

$resource("localhost:3000/"+"dishes/:id",{update:{method:"PUT" }});

да се

$resource("localhost:3000/"+"dishes/:id",{}, update:{method:"PUT" }});