私は調べましたが、これは単純だと思いますが、これに関する API ドキュメントを理解できませんでした。
最初に呼び出されたときにデータを取得するコントローラーがあるとします (もちろん、かなり省略しています)。
myCtrl = function ($scope, Data) {
$scope.data = [];
data_promise = Data.getData(); //a $http service
data_promise.success(function (data) {
$scope.data = data;
});
}
これはうまく機能し、ページが読み込まれると、必要なとおりに $scope.data が入力されます。しかし、もちろん、ユーザーはデータを更新したいと思うかもしれません。サーバーがフォームの「保存」ボタンをクリックしたときに呼び出される単純なサービス「Data.save()」を想定します。
myApp.factory('Data', function ($http) {
save: function (data) {
$http({
method: 'POST',
url: 'someURL',
data: data,
}).success(function(){
//something here that might trigger the controller to refresh
});
};
});
サーバーから最新のデータを取得するためにコントローラーを再インスタンス化する成功コールバックに何を入れますか? 現在、更新されたデータを取得するためにページを更新する必要があります。結果と変更をキャッシュすることでサーバー呼び出しを最小限に抑えることについて、今のところ心配していません。これを最初に機能させる必要があります。
ありがとう!