Nehmen wir an, wir haben viele Elemente in der Benutzeroberfläche. Wenn ein Benutzer auf ein Element klickt, sollte die UI präsentiert ein Popup/dialiog/Overlay-Element mit einigen Optionen, Aktionen und usw.Beste (effizienteste) Möglichkeit, dynamische Optionen in angularjs anzuzeigen
Derzeit sehe ich zwei Möglichkeiten:
für jedes Element des Overlay Element duplizieren und verstecke es, bis der zugehörige Gegenstand angeklickt wird. Wie in dieser Geige: 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>
Platz Overlay UI einmal und halten wurden Spur weichen Artikel zuletzt angeklickt. 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>
Die erste Lösung ist nicht effizient. Dennoch kann ich keinen sauberen Weg finden, Overlay-UI neben dem angeklickten Element im zweiten anzuzeigen. Irgendwelche Ideen?
Aufgrund der Komplexität des Projekts auf ich arbeite ich möchte UI-Logik in der Steuerung vermeiden, dass. Wie auch immer, danke für Ihre Eingabe. – package