It's not too clear what you're wanting or why you are avoiding wanting a function, but a way that I'd go about doing what I think you want to do:
<button ng-click="areaStatus = !areaStatus">Toggle</button>
<div ng-class="{'red' : areaStatus, 'green' : !areaStatus}">
This is some text
</div>
Here is a fiddle that shows it as well as well as a code snippet below.
var myModule = angular.module('myModule', []);
myModule.controller('myController', function ($scope) {
$scope.areaStatus = false;
});
.red {
color:red;
}
.green {
color:green;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.min.js"></script>
<div ng-app="myModule">
<div ng-controller="myController">
<button ng-click="areaStatus = !areaStatus">Toggle</button>
<div ng-class="{'red' : areaStatus, 'green' : !areaStatus}">
This is some text
</div>
</div>
</div>
Within the ng-click you just simply flip the boolean value of areaStatus. With ng-class you can pass in an object. The red and green would be the classes that you want to apply. They will be applied when the expression following is correct.
An alternative would be to use Angular's {{ }} within your class:
<div class="{{areaStatus}}"> </div>
So if areaStatus contains the string "hidden", then that is what class will be in there. But you'd still need a way to then change the value of areaStatus (either in a function, multiple buttons, or checkboxes).