Angular+JQ

by basarat

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
    <yo promiseme="promise"></yo>
    <button ng-click="func()">click me</button>
</div>

JavaScript

var app = angular.module("myApp",[]);

function MyCtrl($scope,$q,$timeout){
    
    var defer = $q.defer(); 
    
    $scope.promise=defer.promise;
    
    $scope.func = function(){     
        defer.resolve("resolved value");
    }   
    
}

app.directive('yo',function(){
    return {
        restrict:'E',
        scope:{
            promiseme:"="
        },
        link:function (scope,element,attrs){
            scope.$watch('promiseme',function(){
                if(!scope.promiseme) return; 
                
                scope.promiseme.then(function(){
                    alert('you promised');
                });
            });
        }
    }
});