1

次の状況で何を使用することになっているのかわかりません。

  • テンプレートリストにはたくさんの写真があります
  • 各写真要素には、写真を選択済みとしてマークし、写真を保存するための Ajax リクエストを送信する ng-click イベントがあります。
  • 保存が発生したら、写真要素のクラスを更新して選択済みとして表示したい

ページの読み込み時に機能する ng-class に関連付けられた呼び出しがありますが、ユーザーがクリックしたときに呼び出されるのが早すぎます。保存後に呼び出す必要があります。

どうすればいいですか?

どうもありがとう。

4

1 に答える 1

2

次のように書くことができます:

<a ng-click="uploadImage('id')">
 <i ng-class="{'image-not-uploaded': !sendImage, 'image-uploaded': sendImage}"></i>
</a>

JSで

...
$scope.sendImage= false; 

 ajax_post.uploadFile_init($scope.uploadedFile)
    .then(function (result) {
        if(result.status == 200){
            $scope.sendImage= true;
        }                 
    }, 
    function (error) {
        alert(error.message);               
    }); 

ここでは、状態に応じてクラスを変更し$scope.sendImageます。

アップロードファイルにいくつか使用factoryしましたが、画像に変更できます。

angular.module('FeederLiteApp', []).factory('ajax_post', ['$http',  function(_http) {   
return{              
    uploadFile_init: function(uploadedFile){
        var fd = new FormData();
        fd.append("uploadedFile", uploadedFile);
        var upload_promise =  _http.post("src/php/data.ajax.php",
            fd,
            {
                headers:{
                    'Content-Type':undefined
                },
                transformRequest:angular.identity
            });

        return upload_promise;
    }       
  }   
}]);
于 2013-05-21T16:17:53.987 に答える