Wie erstelle ich dynamische classNames in einer ember 2.0-Komponente?

7

Zum Beispiel: Ember-Komponenten ermöglichen das Hinzufügen eines classNames-Arrays, und diese Klassen werden dem Hauptteil der Komponente hinzugefügt. sagen wir haben diese Komponente new-div

%Vor%

Wenn Sie diese Komponente beim Rendern betrachten, sehen Sie:

%Vor%

Das ist in Ordnung, aber mein Problem ist, was passiert, wenn ich diese Komponente manchmal als flüssigen Behälter verwenden möchte und manchmal möchte ich es zu einem Jumbotron machen.

Gibt es eine Möglichkeit, dies in HTML zu tun und die component.js korrekt anzuwenden?

%Vor%

dann in der Komponente.js:

%Vor%     
pfg 26.01.2016, 17:37
quelle

4 Antworten

9

Sie können Klassennamen einfach hinzufügen, indem Sie sie im Attribut class Ihrer Komponente angeben:

%Vor%     
dmk 26.01.2016, 17:52
quelle
12

Die @ dmk-Lösung ist die sauberste, aber wenn Ihr Szenario nicht funktioniert, können Sie classNameBindings :

%Vor%     
fguillen 07.03.2016 13:07
quelle
0

Nur als Alternative könnte man so etwas verwenden

%Vor%     
Christian Stengel 28.01.2016 13:49
quelle
0

Wenn jemand ember-component-css verwendet, möchten Sie vielleicht den Helfer für join-classes oder local-class ausprobieren.

%Vor%

attributeValue kann ein Wert vom Controller der Komponente sein (ich meine component.js ), oder ein Element innerhalb eines each Blocks.

Wenn styles.myclass1 = .class1 und attributeValue = .dummy , dann wären die Selektoren als .class1.dummy in der styles.css verfügbar.

%Vor%

Wenn myvalue = 'part' , dann würde der generierte Klassenname tree-to-component_myclass-part__sdfje2jbr2 enthalten (der letzte Teil ist eine generierte ID) und wäre im Stylesheet als .myclass-part verfügbar.

    
Jayant Bhawal 01.02.2017 06:10
quelle

Tags und Links