8:00 – 6:00 SR
| Directive |
Supported animations |
| ngRepeat |
Enter, leave, and move |
| ngView |
Enter and leave |
| ngInclude |
Enter and leave |
| ngSwitch |
Enter and leave |
| ngIf |
Enter and leave |
| ngClass |
Add and remove |
ngShow and ngHide |
Add and remove |
| form and ngModel |
Add and remove |
| ngMessages |
Add and remove |
| ngMessage |
Enter and leave |
A better ng-class example (here in plunker):
The CSS classes. Note that the ‘base-class’ contains the animation timings:
.base-class {
width: 200px;
height: 50px;
text-align: center;
margin: 10px;
padding: 10px;
-webkit-transition: background-color 1s, color 1s, border-color 1s;
transition: background-color 1s, color 1s, border-color 1s;
}
.base-class.whiteBackground {
background-color: white;
color: black;
border: 3px solid black;
}
.base-class.blackBackground {
background-color: black;
color: white;
border: 3px solid white;
}
.base-class.greenBackground {
background-color: green;
color: yellow;
border: 3px solid yellow;
}
.base-class.blueBackground {
background-color: blue;
color: magenta;
border: 3px solid magenta;
}
.base-class.redBackground {
background-color: red;
color: cyan;
border: 3px solid cyan;
}
The Angular code that cycles through the classes:
<body>
<link href="ngClassSample.css" rel="stylesheet" />
<div ng-controller="MyApp as ma">
<h1>ngClass Animation</h1>
<div>
<button ng-click="ma.doToggle()">Next !</button>
<div class="base-class" ng-class="ma.getAnimationClass()">
This is the 'ugly sweater' of css animations
</div>
</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular-animate.min.js"></script>
<script>
var app = angular.module('myApp', ['ngAnimate']);
app.controller('MyApp', [function(){
var self = this;
var classArray = ['', 'blackBackground', 'whiteBackground', 'greenBackground', 'blueBackground', 'redBackground'];
self.toggle = 0;
self.doToggle = function(){
self.toggle++;
}
self.getAnimationClass = function(){
var index = self.toggle%classArray.length;
return classArray[index];
}
}]);
</script>
</body>
You must be logged in to post a comment.