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" noreally="noreally()"></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.noreally= function(){ return defer.promise };
$scope.func = function(){
defer.resolve("resolved value");
}
}
app.directive('yo',function(){
return {
restrict:'E',
scope:{
promiseme:"=",
noreally:"&",
},
link:function (scope,element,attrs){
scope.$watch('promiseme',function(){
if(!scope.promiseme) return;
// fails
//scope.promiseme.then(function(){
// alert('you promised');
//});
});
//works
scope.noreally().then(function(){
alert('you promised');
});
}
}
});