我在圖像上有一個像/不同功能。 like/different是使用ng-class切換的。點擊圖標後,它會進行服務呼叫並切換狀態。但是,這不反映在用戶界面上。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看起來像
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