My mistake
HTML
<div ng-controller="myCtrl">
<div dynamic-class="'tooltip'" dynamic-class-when="add">
test
</div>
</div>
CSS
.tooltip {
color: blue;
}
JavaScript
var app = angular.module('myApp', []);
function myCtrl($scope, $timeout) {
$timeout(function() {
$scope.add = true;
},1000);
}
app.directive('dynamicClass', function($compile) {
return {
scope: {
dynamicClassWhen: '=',
dynamicClass: '='
},
link: function(scope, elt, attrs) {
scope.$watch('dynamicClassWhen', function(val) {
if (val) {
console.log(val);
elt.addClass(scope.dynamicClass);
$compile(elt)(scope);
}
});
}
};
});
app.directive('tooltip', ['$timeout', '$location', '$compile', function (timer, $location, $rootScope) {
return {
restrict: 'C',
transclude: true,
link: function (scope, element) {
alert('test');
}
};
}]);