Am I able to pass a class attribute to a directive template in angularJS?

Viewed 7105

I got this directive in angularJS

productApp.directive('notification', function($timeout) {
    return {
        restrict : 'E',
        replace : true,
        scope : {
            type: "@",
            message: "@"
        },
        template : '<alert class="alert alert-type">message</alert>',
        link : function(scope, element, attrs) {
            $timeout(function() {
                element.hide();
            }, 3000);
        }
    }
});

So i can call it from the view like this:

<notification type="alert.type" message="alert.msg"></notification>

In the controller i got the alert object defined:

$scope.alert = { type : 'success', msg : 'This is a test'};

How am i able to pass the type dynamically? tried that and it didn't work. If i pass alert-success to the directive, it works, but i want it to be dynamic.

Am i able to pass it dynamically by doing that?

Thanks

2 Answers
Related