JSFiddle - React, Tailwind, and code Playground

HTML

<div ng-app="iCountdown">
<i-countdown  set-date-start="2015-08-29 10:10:00" set-date-end="2015-08-29 10:11:30" format-view="%d dias %h hs %i min %s sg" expire-message="Fim de jogo"></i-countdown>
</div>

JavaScript

angular.module('iCountdown', [])
    .directive("iCountdown", function () {
        return {
            restrict: "EAC",
            scope: {
                setDateStart: "@",
                setDateEnd: "@",
                expireMessage: "@",
                formatView: "@"
            },
            replace: true,
            template: "<div><div></div></div>",
            link: function (scope, element) {

                var insertDate = function() {
                    scope.setMessageExpired(scope.expireMessage);
                   
                    if (angular.isDefined(scope.setDateStart) && angular.isDefined(scope.setDateEnd)) {
                       scope.setDateStarter(scope.setDateStart);
                       scope.setDateFinal(scope.setDateEnd);
                    } 
                  
                    scope.start();
                };

                scope.$watch('setDateEnd', function() {
                   insertDate();
                }, true);
           
           

                var _end = new Date();
                var _start = new Date();
                var _second = 1000;
                var _minute = _second * 60;
                var _hour = _minute * 60;
                var _day = _hour * 24;

                var params = {
                    second:_second,
                    minute:_minute,
                    hour: _hour,
                    day: _day,
                    interval: null,
                    messageFinal: 'expired!',
                    format:'Y-m-d H:i:s',
                    dateEnd: '2015-09-29 10:10:05',
                    dateStart: '2015-09-29 10:10:00',
                    currDate: null
                };

                scope.setMessageExpired = function(message) {
                    params.messageFinal = message;
                };
                
                scope.setMessageInitial = function(message) {
                    params.messageInitial = message;
                };

    ...