Sto utilizzando la direttiva fisarmonica da http://angular-ui.github.com/bootstrap/ e ho bisogno di avere più controllo su quando le fisarmoniche si aprono e si chiudono.Qual è un buon modo per controllare una fisarmonica angolare-ui a livello di programmazione?
Per essere più precisi ho bisogno di un pulsante all'interno del gruppo della fisarmonica che chiuderà la sua consolle principale e aprirà quella successiva (quindi fondamentalmente imita quello che farebbe clic sul prossimo header se close-altri fosse impostato su true). Devo anche fare un po 'di convalida prima di poter permettere che una fisarmonica venga chiusa e la prossima da aprire, e devo anche collegarla per fare clic sugli eventi sulle intestazioni di fisarmonica.
Sono abbastanza nuovo da angolare e al momento stiamo riscrivendo un'applicazione da Backbone + JQuery ad Angular. Nella versione Backbone stavamo usando le fisarmoniche Twitter Bootstrap e le stavamo aprendo e chiudendo usando JQuery. Mentre possiamo continuare a farlo, preferirei eliminare completamente la manipolazione del JQuery DOM, quindi sto cercando una soluzione angolare pura a questo.
Quello che ho cercato di fare in termini di convalida è
<accordion-group ng-click="close($event)">
e nel mio controller
event.preventDefault();
event.stopPropagation();
Questo, ovviamente, non ha funzionato come l'elemento DOM è sostituita dalla direttiva e la il gestore di clic non viene mai aggiunto. Ho esaminato il codice sorgente (e ho trovato alcune caratteristiche non documentate molto belle) ma non riesco a capire dove iniziare a risolvere questa specifica sfida. Stavo considerando biforcarsi angolare-ui e provare ad aggiungere questa funzionalità alla direttiva fisarmonica, ma se riuscirò a ottenere ciò senza modificare la direttiva sarebbe molto più bello.
Grazie, i miei pulsanti funzionano come se ne avessi bisogno. La mia altra domanda, però, è come farei una sorta di validazione prima di consentire la seconda fisarmonica (praticamente impedendo che venga ampliata). Ho modificato il plunk per lavorare con i pulsanti: http://plnkr.co/edit/J5hnuA?p=preview Ma mi stavo chiedendo se è possibile impedire l'apertura della seconda fisarmonica facendo clic sull'intestazione anche? – ivarni
(Nel mio plunk non è possibile attivare la fisarmonica n. 2 facendo clic sul pulsante a meno che la casella di spunta in # 1 sia selezionata, ma è ancora possibile aprire n. 2 facendo clic sull'intestazione) – ivarni
Sembra che non sia possibile eseguire alcuna convalida prima dell'apertura una nuova fisarmonica dal momento che il click-handler nel template dice semplicemente ng-click = "isOpen =! isOpen" – ivarni