2016-04-24 9 views
0

Ich habe ein Meteor-Projekt mit verschiedenen Routen.Meteor: body backgroundimage

In einem meiner CSS-Dateien gibt es:

body { 
    font-family: 'Roboto', sans-serif; 
    font-size: 17px; 
    font-weight: 400; 
    color: #888; 
    background-image: url("/images/bg.png"); 
    line-height: 30px; 
    text-align: center; 
} 

Jetzt möchte ich ein anderes Hintergrundbild für meinen Körper, wenn ich zu einem anderen Weg zu gehen und verschiedene Vorlagen machen. Gibt es eine Meteor-Way-Lösung? Ich kenne jQuery und das ist nicht was ich will, also bitte keine nicht-reaktive Sachen, danke.

Ist es möglich, einen globalen Helfer für meinen Körper wie

<body class="{{classWithDifferentBackground}}"> 

zu definieren, die für jede Route in einem reaktiven Weg, die richtige Klasse zurückgibt? Damit ich meine verschiedenen CSS-Klassen mit dem Hintergrundbild für den Körper umgehen kann ...

Danke für Ihre Hilfe und Ihre Gedanken dazu!

Antwort

1

Sie können dies erreichen, indem Sie die Klasse manuell festlegen. Gute Orte, um dies zu tun, gehören Router und Layout-Vorlagen-Methoden. Zum Beispiel:

Template.someLayout.onRendered(function() { 
    $('body').addClass('someLayoutBody'); 
}); 

Template.someLayout.onDestroyed(function() { 
    $('body').removeClass('someLayoutBody'); 
}); 
+0

Es gibt wahrscheinlich keine andere Lösung als diese ... Globale Helfer reagieren nur innerhalb von Vorlagen, nicht außerhalb wie im Body-Tag. Trotzdem danke! – ant45de