Diciamo che abbiamo molti elementi nell'interfaccia utente. Quando un utente fa clic su un elemento, l'interfaccia utente dovrebbe presentare una/dialiog/elemento comparsa sovrapposizione con alcune opzioni, azioni, eccIl modo migliore (più efficiente) per mostrare il menu delle opzioni dinamiche in angularjs
Attualmente vedo due opzioni:
duplicare l'elemento di sovrapposizione per ogni voce e nascondilo fino a quando non viene cliccato l'elemento associato. Come in questo violino: http://jsfiddle.net/urPww/1/
<div ng-show="currentItem"> showing options for: {{currentItem.name}} </div> <li ng-repeat="item in items" ng-click="showOptions(item)"> {{item.name}} </li>
Luogo sovrapposizione UI una volta e tenere traccia voce wich stato cliccato scorso. Demo: http://jsfiddle.net/aVnPT/5/
<li ng-repeat="item in items" ng-click="showOptions(item)"> {{item.name}} <span ng-show="item.showingOptions"> <br/>showing options for: {{item.name}} </span> </li>
La prima soluzione non è efficace. Eppure non riesco a capire in modo pulito come mostrare l'overlay dell'interfaccia utente oltre all'elemento cliccato nella seconda. Qualche idea?
A causa della complessità del progetto su cui sto lavorando mi piacerebbe evitare di mettere la logica dell'interfaccia utente nel controller. Comunque, grazie per il tuo contributo. – package