2013-01-03 13 views
5

以下のコードをチェックしてください。問題はコメントにあります。

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

もっと明確にしたいことを説明する必要があると思います。 – Neil

答えて

8

私は次のように言う:

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); 
     }); 

    } 
} 

あなたは全体のリストを更新したくない場合。別の方法としては、コールバックを保存で再照会収集できたあなたは他のソースからの変更を期待している:

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

あなたはクラスレベルでsaveメソッドを使用することができることに注意してください。たとえば、上のコードは次のように書き直すことができます:

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

Oh、duh。新しい動画が必要です()。 $ scope.videosにアクセスして$ save()に更新されたビデオをどのようにアクセスすればよいか尋ねたはずです。しかし、それは完全に質問を変えます... –

+0

今あなたは私を混乱させました:-)本当の質問は何ですか?私の説明はあなたを助けるかどうか? –

+0

私は最終的に新しい関連する質問をします。あなたの答えは述べられている問題を解決して答えます。 –

関連する問題