Mi piacerebbe vedere la mia pelle e mostrare le espressioni su tutti gli elementi nella mia app.Angular - Evento per ng-hide e ng-show
so che posso farlo avvolgendo la direttiva spettacolo con una funzione che restituisce solo l'argomento:
<div ng-show="catchShow(myShowExpr == 42)"></div>
Tuttavia, mi piacerebbe vedere tutti Nascondi/mostra in tutti gli ingressi nella mia app e quanto sopra non è abbastanza buono.
Potrei anche sovraccaricare le direttive ngShow
/ngHide
anche se avrei bisogno di rivalutare l'espressione.
Potrei anche solo modificare il sorgente dal momento che è abbastanza semplice:
var ngShowDirective = ['$animator', function($animator) {
return function(scope, element, attr) {
var animate = $animator(scope, attr);
scope.$watch(attr.ngShow, function ngShowWatchAction(value) {
var fn = toBoolean(value) ? 'show' : 'hide';
animate[fn](element);
//I could add this:
element.trigger(fn);
});
};
}];
Anche se poi non ho potuto utilizzare Google CDN ...
C'è un bello modo chiunque può pensare di Fai questo ?
potrebbe scrivere la propria direttiva di visualizzazione invece di usare 'ng-show' – charlietfl
Posso chiedere quali sono le esigenze aziendali qui? Sto cercando di pensare se c'è un modo migliore per farlo .. –
Ho una forma complessa e quando un elemento è nascosto, deve essere cancellato. Attualmente, lo sto facendo nella mia diapositiva [animazione] (http://code.angularjs.org/1.1.4/docs/api/angular.Module). Sebbene se decido di svanire un elemento, o di nasconderlo/mostrarlo all'istante, diventa rapidamente un po 'hacky. Da qui la necessità di un evento. Poiché l'implementazione della direttiva 'ng-show' è ragionevolmente semplice, potrei semplicemente seguire il suggerimento di @ charlietfl e implementare la mia direttiva. – jpillora