2017-05-05 4 views
0

Ich bin ziemlich neu bei Ember.js, also frage ich mich, ob jemand eine "clevere" Art und Weise weiß, dies zu erreichen.Anwenden der Eigenschaft auf alle bis auf die letzte Komponente in der Vorlage

Ich habe mehrere Instanzen einer Komponente, die ich rendere in einer Vorlage, die Schritte in einem Prozess darstellt. Ich würde gerne eine boolesche Eigenschaft (Kollaps) für alle außer dem letzten festlegen. Ich könnte dies per Hand mit Hilfe von berechneten Eigenschaften tun (siehe Beispiel unten), aber das wäre beschwerlich, da jeder Schritt im Prozess andere (manchmal mehrere) Bedingungen für diese boolesche Eigenschaft haben würde und es schwieriger werden würde, die größere beizubehalten Dieser Teil meiner Code-Basis wird.

Dies ist, was das würde wie folgt aussehen:

<ul> 
    <li>{{event-box collapse=wasBCompleted}}</li> 
    ... 
    <li>{{event-box collapse=wasCAndDCompleted}}</li> 
    ... 
    <li>{{event-box collapse=false}}</li> 
</ul> 

ich dort hatte gehofft, einen Weg könnte sein, zu wählen (oder Titel), um alle Instanzen eine Komponente in einer Vorlage und wenden Sie die Eigenschaft, um sie in einem Schritt - oder vielleicht fügen Sie sie zu einem Array hinzu, wenn ich sie in die Vorlage lege und dann später darüber iteriere, aber ich konnte dies noch nicht erfolgreich machen.

Kann jemand vorschlagen, ob das machbar ist? Vielen Dank!

Antwort

0

Ich denke, Sie müssen Ihre Frage ein wenig klären; Was versuchst du zu erreichen?

Anwenden einer Eigenschaft auf alle außer letzte Komponente in einer Vorlage? Einfach! Aber ich glaube nicht, dass du das wirklich suchst.

<ul> 
    <li>{{event-box collapse=wasBCompleted}}</li> 
    ... 
    <li>{{event-box collapse=wasCAndDCompleted}}</li> 
    ... 
    <li>{{event-box}}</li> 
</ul> 

Was versucht die Event-Box-Komponente? Genauer gesagt, welche Informationen benötigt er von außen (in diesem Beispiel die Eigenschaft "Kollaps"), um seine Aufgabe zu erfüllen?

+0

Event-Box zeigt Text in einem konsistenten Stil und enthält eine Schaltfläche zum "Kollaps" selbst - versteckt seinen Inhalt und verkleinert seine Höhe. "collapse" ist genau das, was ich jetzt mache, um seinen Anfangswert zu setzen, aber es ist nicht mein Ziel - ich möchte in der Lage sein, einfach auf alle Event-Box-Komponenten zuzugreifen, nachdem sie auf der Seite sind. Eigentum an allen außer dem letzten von ihnen zu "wahr". – Argus9

Verwandte Themen