ある種のモデルにバインドされていないインターフェイスに 4 つのランダムなタイルがあるだけではないと仮定すると、次のようにすることができます。
http://jsfiddle.net/V4YC9/1/
HTML
<div ng-app ng-controller="x">
<div ng-repeat="tile in tiles" ng-click="selectTile(tile)" ng-class="tile.class">{{tile.name}}</div>
</div>
JavaScript
function x($scope) {
$scope.selectedTileIndex = null;
$scope.tiles = [
{id: 1, name: 'tile 1'},
{id: 2, name: 'tile 2'},
{id: 3, name: 'tile 3'},
{id: 4, name: 'tile 4'}
];
// provide default class to all tiles
angular.forEach($scope.tiles, function (tile) {
tile.class = 'tile';
});
$scope.selectTile = function (clickedTile) {
angular.forEach($scope.tiles, function (tile) {
tile.class = 'tileNotSelected';
});
clickedTile.class = 'tileSelected';
}
}
編集:おそらく10の異なる方法があります。モデルを混乱させたくない場合は、別の配列を $scope に格納しng-class="calculateTileClass(tile)"
、最初の応答で行ったのと同様に、クラスをリアルタイムで計算できます: http://jsfiddle.net/V4YC9/ 1/