Angularjs: ng-repeat und ng-schaltet tr Tags ein

9

Ich versuche AngularJS zu verwenden, um eine Tabelle mit einer Liste von Ereignissen zu erstellen. Aber jedes Ereignis hat einen Typ, und Ereignisse verschiedener Typen haben drastisch unterschiedliche Inhalte, und einige Typen erzeugen auch mehr als eine Zeile.

In einer perfekten Welt würde ich das tun:

%Vor%

Dies funktioniert jedoch nicht, da die meisten Browser die ng-Tags verwerfen oder verschieben, um zu erzwingen, dass der tbody nur trs enthält.

Die einzige Lösung, die ich mit dem damit verbundenen Problem gesehen habe ( Wie man ng-repeat ohne ein html-Element verwendet ) hat mehrere tbody-Elemente; Ich würde es vorziehen, dies nicht zu tun, aber selbst wenn ich dies tue, indem ich dem tbody die Attribute ng-repeat und ng-switch gebe, habe ich immer noch das Problem, dass ich nicht mehrere trs in einen einzigen ng-switch-when einpacken kann .

Gibt es eine Möglichkeit, dies in AngularJS zu tun, oder ist das unmöglich?

    
dplepage 27.01.2013, 13:47
quelle

2 Antworten

1

Vielleicht wäre die beste Option eine Direktive, die das passende Markup basierend auf Ihrem type1 / type2 erzeugt?

Sie könnten das wahrscheinlich auch mit ng-hide / ng-show tun, obwohl das unnötiges zusätzliches Markup erzeugen würde

    
Will Vincent 28.01.2013, 19:45
quelle
2

Ich bin auf dieses Problem gestoßen, der beste Rat ist, verwende keine Tabelle:

Mache einfach eine Eltern-Div-ID mit * einer Menge von Kind-Div-Klassen, genau wie sie trs und tds sind ...

Ich habe dies nicht in Winkelquelle überprüft, aber ich nehme an, dass die Tabellenelemente irgendwie nicht miteinander verflochten sind, wer weiß ..

    
Michael O'Brien 27.01.2013 14:45
quelle