2017-11-13 1 views
2

Ich möchte Styling für jede Komponente anwenden, was ich suche ist, ich möchte den aktuellen Selektor-Namen und übergeben Sie es als Klasse Namen wie diesAngular2, Wie bekomme ich den aktuellen aktiven Komponentenselektor, um ihn als Klasse global für CSS-Styling zu verwenden

<div [class]="component-slector-name"> 
<router-outlet></router-outlet> 
</div> 

so für, dass jede aktive Komponente I seine Wähler bekommen und setzen sie sich auf div-Tag für benutzerdefiniertes CSS-Styling ..

Wer weiß, wie dies zu tun ?? Vielen Dank im Voraus für Zeit und Unterstützung.

+1

Warum wollen Sie Klassennamen zu übergeben? Da jede Komponente einen eigenen Namen hat, können Sie einfach Stile für Ihr Element schreiben: 'component-selector-name { // Ihre CSS-Regeln }' –

+0

Jede Komponente kann auch eigene dedizierte, isolierte CSS-Regeln haben , obwohl die Styles oder styleUrls-Eigenschaft des Dekorators. –

+0

Ya, aber wenn ich css auf seine dedizierte CSS-Datei anwenden wird es nicht angewendet, und ich habe Link durch die Suche in Bezug auf die Ansicht Encapsulation, bei der Verwendung, dass der Stil globaly gesetzt wird. Das ist in der gesamten Anwendung ich Einstellungen .container {padding-left: 240px} aber für Login-Inhalt möchte ich .container {padding-left: 0px}, so wenn ich ViewEncapsulation verwenden der Stil wird global angewendet. – user5309516

Antwort

2

Es gibt verschiedene Möglichkeiten, dies zu erreichen.

Hier ist eine Option:

* .html

<div [class]="activeSelector"> 
    <router-outlet (activate)="onActivated($event)"></router-outlet> 
</div> 

* .ts

activeSelector: string; 

constructor(private resolver: ComponentFactoryResolver) {} 

onActivated(component) { 
    this.activeSelector = 
     this.resolver.resolveComponentFactory(component.constructor).selector;  
} 
+0

Ihre Lösung funktioniert perfekt, wie ich gewollt. Es entspricht meiner Anforderung. Danke für die Hilfe. – user5309516

+0

Wie verwende ich den Component Resolver Selector für faule Module? – user5309516

Verwandte Themen