【发布时间】:2015-11-21 18:35:49
【问题描述】:
我正在尝试使用 Angular.js 创建一个赞按钮。 (它只是一个心形图标。默认颜色为白色 = 不喜欢。喜欢时为红色。喜欢/不喜欢通过单击切换) 我从我的 Web 服务中获取了一些数据,这些数据也有一些 ID 的数组。这些 ID 是之前点击过点赞按钮的 ID。
然后我根据从 Web 服务检索到的数据使用 ng-repeat 指令填充 DOM。
我为按钮附加了一个设置正确类的 ng-class 和一个应该以某种方式更改类的 ng-click 指令。 * 我无法连接 ng-class 和 ng-click 结果。
一些代码:
<div ng-repeat="photo in photos track by photo._id">
<button ng-class="{carouselFooterButtonLikeActive : initLike(photo)}" ng-click="like(photo, this)">
<i class="icon ion-heart"></i>
</button>
</div>
控制器:
// Handle like button click
$scope.like = function(photo, photoScope){
HOW CAN I AFFECT THE NG-CLASS FROM HERE?
}
$scope.initLike = function(photo){
if(photo.likes.indexOf($localstorage.getObject('userInfo').id) > -1) {
$scope.liked = true;
return true;
}
$scope.liked = false;
return false;
}
编辑:添加了从网络服务检索到的可能数据
{
photos: [
{
src: "src1.jpg",
likes:[111,222,333]
},
{
src: "src2.jpg",
likes:[]
}
]
}
【问题讨论】:
标签: angularjs