2013-01-03 8 views
5

Controlla il codice qui sotto. La domanda è nei commenti.

angular.module('MainStreetMower.services', ['ngResource']) 
.factory('Videos', function($resource) { 
    return $resource('/api/jobs/1/'); 
}); 
function VideoListCtrl($scope, Videos) { 
    $scope.videos = Videos.query(); 
    $scope.what = function() { 
     // proper way to push to the videos array and $save() the new array. 
    } 
} 
+2

Penso che è necessario per descrivere ciò che si desidera in modo più chiaro – Neil

risposta

8

vorrei dire quanto segue:

function VideoListCtrl($scope, Videos) { 
    $scope.videos = Videos.query(); 

    $scope.what = function() { 

     var newVideoData = {}; // prepare new video data here from the model 
     new Videos(newVideoData).$save(function(video){ 
      $scope.videos.push(video); 
     }); 

    } 
} 

se non si desidera aggiornare l'intera lista. In alternativa si potrebbe re-interrogare la collezione nella richiamata salvare è che ci si aspetta modifiche da altre fonti:

new Videos(newVideoData).$save(function(video){ 
    $scope.videos = Videos.query(); 
}); 

prega di notare che è possibile utilizzare il metodo save sul livello di classe. Ad esempio, il codice di cui sopra potrebbe ri-scritto come:

Videos.save(newVideoData, function(video){ 
    $scope.videos = Videos.query(); 
}); 
+0

Oh, duh. Ho bisogno di nuovi video(). Avrei dovuto chiedere come accedere a $ scope.videos a $ save() un video aggiornato. Ma questo cambia totalmente la domanda ... –

+0

Ora mi hai confuso :-) Qual è la vera domanda allora? Le mie spiegazioni ti aiutano o no? –

+0

Alla fine chiederò una nuova domanda correlata. La tua risposta risolve il problema dichiarato, quindi ha risposto. –

Problemi correlati