function MyCtrl($scope) {
$scope.active = false;
$scope.toggleActive = function () {
$scope.active = !$scope.active;
};
}
.
<div ng-class="{red: !active, green: active}" ng-click="toggleActive()"></div>
ngClass
は、オブジェクトが与えられると、プロパティ値が真であるクラスを設定します。
注: ビューはテストが難しいため、ビジネス ロジックを含めないでください。コントローラーとのみ対話する必要があります。
それについての説明:
すべきでないことは、スコープ内のプロパティをビューから直接変更することです。コントローラーの関数を、それを行うラッパーとして機能させます。ビューは、スコープのプロパティに応じてレンダリング方法を変更し、コントローラーで関数を呼び出してデータを操作できます。また、コントローラーは、データをどのように表示したいかをまったく認識してはならず、ビューがまったくないように動作する必要があります (実際、ビューは交換可能である必要があります)。どの CSS クラスを適用するかは、コントローラーが認識/決定する必要があるものではありません。