Può una direttiva richiedere se stessa? Ecco un example:Può una direttiva angularjs richiedere se stessa?
app.directive('menu', function() {
return {
restrict: 'E',
require: '?^menu',
link: function(scope, element, attrs, ctrl) {
console.log('ctrl: ', ctrl);
if (ctrl) {
element.addClass('nested');
} else {
element.addClass('notnested');
}
}
};
});
Nella mia prova non sembra funzionare (ctrl
è sempre indefinita). Vedere le plunk
BTW, dopo questa domanda è stato risposto ho scoperto che in questo caso il cursore (^
) non ha alcun effetto e il controller passato alla funzione di collegamento è sempre proprio controllore dell'istanza. [plunk]
So quello che sta cercando di fare. L'ho provato, ma non aiuta ... – gkalpak
Non è che il cursore non abbia effetto, è che una singola istruzione 'require' include l'elemento stesso nella ricerca del controller a cui si fa riferimento. Vedi la mia risposta qui sotto per un plunker. – jbmilgrom
nice, ho upvoted la tua risposta –