Ho una direttiva di navigazione personalizzata che necessita di un attributo "disabilita" facoltativo e non sono sicuro che sia persino possibile.Attributo di espressione facoltativo nella direttiva AngularJS
Nel mio controller principale:
.controller('NavCtrl', ['UserResource','RoleResource'], function(UserResource,RoleResource){
var user = UserResource.getUser();
var roles = RoleResource.getRoles();
UserService.init(user, roles); //????
});
Nella mia direttiva:
.directive('navItem', function(){
return{
restrict: 'A',
scope: {
text: '@',
href: '@',
id: '@',
disable: '&'
},
controller: function($scope, $element, $attrs){
$scope.disabled = ''; //Not sure I even need a controller here
},
replace: true,
link: function(scope, element, attrs){
scope.$eval(attrs.disable);
},
template: '<li class="{{disabled}}"><a href="{{href}}" id="{{id}}">{{text}}</a></li>'
}
});
Nel mio HTML, voglio fare qualcosa di simile:
<div data-nav-item text="My Text" href="/mytemplate.html" id="idx"
disable="UserService.hasRole('ADMIN,BILLING') && someOtherFn(xxx) || ...">
Spiacente, ho premuto per errore ctrl + s .. il violino è stato aggiornato con le mie modifiche.Potresti aggiornare il collegamento per violino. Scusa ancora. – rajkamal
@rajkamal, il collegamento sopra al violino dovrebbe portare le persone alla versione originale, anche se ne hai salvato uno nuovo. Avresti anche dovuto fare clic sul pulsante "Base" per far sì che le persone vedessero la tua versione, quindi niente male. –
Questo era esattamente quello di cui avevo bisogno. Grazie! – boyceofreason