画像にlike/different機能があります。 like/unlikeはng-classを使用して切り替えられます。アイコンをクリックすると、サービスコールが行われ、状態が切り替わります。しかし、これはUIに反映されていません。angularjsアクション後にクライアントをリフレッシュしません。
私HTMLは次のとおりです。
<div class="col-sm-4 col-md-4" ng-repeat="result in searchCtrl.searchResults">
<img class="img-responsive" ng-src="http://site.jpg">
<div class="overlay">
<a ng-click="searchCtrl.likeImage(result)">
<span ng-class="'{{searchCtrl.getImageClass(result)}}'"></span></a>
</div>
私のjsが、私が思う
app.controller('SearchController', function(){
this.getImageClass = function(result){
if(result.liked)
return 'fa fa-heart fa-4x';
else
return 'fa fa-heart-o fa-4x';
};
this.likeImage = function(result){
if(result.liked == false){
myService({'mediaId':result.mediaId}).execute(function(resp) {
if(resp && resp.hasOwnProperty('error')) {
}else{
result.liked = true;
}
});
}
};
UIに反映されていないのですか、ページが読み込まれていますか?私は投稿のタイトルが誤解を招くものと想定しています。 – niksofteng
タイトルを修正していただきありがとうございました – Vik
あなたのng-classが実際に呼び出されていることを確認して、期待されるクラスを返すことができます – atsituab