javascript - Angular: ng-click only on subset of elements inside a ng-repeat -


i'm using angular; have have ng-repeat loop i'd make elements clickable. following:

<div ng-repeat="item in itemlist">     <span ng-class="{ 'interactive' : item.clickable }"           ng-click="dosomething(item)"> .... </span> </div> 

where dosomething in controller like

$scope.dosomething = function(item) {     if (!item.clickable) return;     /* stuff */ }; 

this works, fear if of elements not clickable setting lot of useless handlers slow down page. case ? if so, there way set ng-click attribute needed, i.e. elements such item.clickable === true ?

take @ this

working demo

script

angular.module('main', []); // main controller function controller($scope) {     $scope.itemlist = [{         clickable: true,         id:1,         name: "abc-name"     }, {         clickable: false,         id:2,         name: "xyz-name"     }, {         clickable: true,         id:3,         name: "lmn-name"     }];      $scope.dosomething = function(item) {      console.log(item);     } } 

html

<div class="container" ng-app="main" ng-controller="controller"> <div ng-repeat="item in itemlist">     <span ng-class="{ 'interactive' : item.clickable }"           ng-click="!item.clickable||dosomething(item)">{{item.name}}      </span> </div> </div> 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -