angularjs - Add and remove class when element clicked with Angular -
i know how add or remove class html element when div clicked angularjs. have div when clicked need check if includes class('already-member') or not. if class exist, remove it, , if not, add it. know how in javascript not sure in angular.
tab-members.html
<div collection-repeat="friend in user.friends" item-width="50%" item-height="80px" class="friends-list"> <div class="item friend-avatar" ng-class="{'already-member' : friend.already_member == true}" ng-click="togglestatus()"> <div class="avatar"> <img src="{{friend.avatar_url}}"> <i class="check-icon" ng-class="{'hidden' : friend.already_member == false}"></i> </div> <div class="wrapper-friend-name"> <p class="friend-name">{{friend.name}}</p> </div> </div> </div> this code in controllers.js
.controller('membersctrl', function($scope) { $scope.members = [ {avatar_url: "http://..."}, {avatar_url: "http://..."}, {avatar_url: "http://..."}, {avatar_url: "http://..."} ]; $scope.user = { avatar_url: "http://...", friends: [ {avatar_url: "http://...", name: "pablo pepunto", already_member: true}, {avatar_url: "http://...", name: "pablo pepunto", already_member: false}, {avatar_url: "http://...", name: "pablo pepunto", already_member: false}, {avatar_url: "http://...", name: "pablo pepunto", already_member: false} ] } $scope.$on('$ionicview.beforeenter', function (event, viewdata) { viewdata.enableback = true; }); $scope.togglestatus = function($scope) { console.log('$scope'); //$scope undefined $scope.classlist.toggle('already_member'); $scope.already_member = !$scope.already_member; } })
i following:
in template:
ng-click="togglestatus(friend)" in controller:
$scope.togglestatus = function(friend) { friend.already_member = !friend.already_member; } then ng-class="{'hidden' : friend.already_member == false}" directive defined should work.
Comments
Post a Comment