Angular:
http://angularjs.org/
by bennekrouf
HTML
<div requirelogin>
<div like>
<button ng-click="sayILike()">Say like !</button>
<button ng-click="login()">Login</button>
</div>
</div>
JavaScript
var myApp = angular.module('myApp',[])
.directive('requirelogin', function() {
return {
scope: true,
controller: function() {
var isLogged = false;
this.isLogged = function() {
if(isLogged) return isLogged;
alert("You are not logged!");
};
this.login = function(){
isLogged = true;
};
}
};
})
.directive('like', function() {
return {
scope: true,
require: '^requirelogin',
link: function(scope, element, attrs, loginCtrl) {
scope.loginCtrl = loginCtrl;
scope.sayILike = function(){
if(scope.loginCtrl.isLogged()){
alert('I like');
}
};
scope.login = function(){
scope.loginCtrl.login();
};
}
};
});