我有一個AngularJS $resource
:
App.factory("pjApi", ["$resource", function($resource) {
return $resource("/api/:user/:action/:post_id/", {action:"posts"});
}]);
,並在我的控制,我基本上都用這樣的:
$scope.deletePost = function(post_id) {
$scope.posts.forEach(function(post) {
if (post_id === post.id)
post.$delete({user:"tjb1982",action:"delete",post_id:post.id});
});
}
服務器對響應狀態爲200,應用程序/ json和body:「1」
這個響應的角色是刪除Resource對象的已刪除實例,但隨後Angular將其替換爲r從服務器迴應(即「1」),彷彿我正在創建或更新:
posts [Resource { 0="1", $$hashKey="00D", $get=function(), more...}]
等
所以我的模板與這個新的(主要是空白)的信息,而這正是我試圖更新避免。我試過沒有從服務器返回任何東西或「0」 - 在Resource實例被完全保留並返回「0」的結果與返回「1」相同的結果中沒有返回任何結果。
爲了讓這個資源實例完全移除以便我的模板正確呈現,Angular尋找什麼響應?
我把它放在回調。謝謝你的幫助。 'post。$ delete({user:「tjb1982」,action:「delete」,post_id:post.id},function(resp){column.posts.splice(i,1);});' – tjb1982
這是一種方式更好的主意;我完全改變了我的答案;) –