Angular:
http://angularjs.org/
by mrajcok
HTML
<div ng-controller="MyCtrl">
<div data-nav-item text="My Text1 - disable attr present" href="/mytemplate.html" id="idx" disable="disableCheckFn()"></div>
<div data-nav-item text="My Text2 - disable attr not present" href="/mytemplate.html" id="idx"></div>
</div>
JavaScript
var myApp = angular.module('myApp',[]);
myApp.directive('navItem', function() {
return {
restrict: 'A',
scope: {
text: '@',
href: '@',
id: '@',
disable: '&'
},
replace: true,
link: function(scope, element, attrs) {
scope.disabled = '';
if(angular.isDefined(attrs.disable)) {
//scope.$parent.$eval(attrs.disable);
scope.disable();
} else {
console.log('disable attr not present');
}
},
template: '<li class="{{disabled}}"><a href="{{href}}" id="{{id}}">{{text}}</a></li>'
}
});
function MyCtrl($scope) {
$scope.disableCheckFn = function() {
console.log('disableCheckFn');
return true;
}
}