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.
    }
}
4

1 に答える 1

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();
});
于 2013-01-03T22:40:57.393 に答える