2016-06-17 21 views
0

Ich habe es mit Kopf- und Fußzeilen in angularjs zu tun. Ich habe verschiedene Header für mobile Ansicht und Webview. Wie behandle ich Header in angularjs abhängig von der Fensterbreite bedingt.Wie können Kopf- und Fußzeilen in angularjs abhängig von der Fensterbreite bedingt ein- und ausgeblendet werden?

Im Moment mache ich das mit jquery wie folgt:

if (window.matchMedia('(max-width: 768px)').matches) { 
//hidewebheader; 
//show mobileheader; 
} else { 
    //hidemobileheader; 
    //showwebheader; 
} 

Wie erreiche ich dies in AngularJS. Es gibt eine Datei von header.html, die zwei verschiedene Markups für Web- und Mobile-Header hat.

+0

Überprüfen Sie dies, es kann Ihnen helfen: http://StackOverflow.com/Questions/7715124/Do-Something-If-Screen-Breite-ISless-Than-960-PX –

+0

Nö nicht nützlich..i Brauchen Sie eine eckige Lösung –

+0

Sie können das gleiche mit eckigen auch ich denke, nur wenn Sie ein '$' Zeichen haben, setzen Sie angular.element statt –

Antwort

1

inject $ window. Ich weiß, dass es $ window.innerHeight gibt, also glaube ich, dass es $ window.innerWidth gibt (habe es nicht versucht). Verwenden Sie $ scope. $ Achten Sie auf die Breite und verwenden Sie ng-if, um zu entscheiden, welche Kopfzeile Sie gerade anzeigen.

Übrigens, wir verwenden bootstrap und es gibt einen guten Weg, es dort mit css nur Lösung zu tun. Ich denke Bootstrap verwendet @media hinter der Szene. Ich bin nicht sicher, dass Sie angular oder js für Ihr Problem verwenden müssen. benutze CSS.