2016-11-26 5 views
1

Ich habe eine einfache Funktion, die Überprüfung der Breite des Fensters und nach diesem Wert dehnt es den Inhalt. Aber wenn ich die Größe der Seite ändere und die Seite neu lade, passiert nichts, bis ich die Größe des Fensters ändere. Wie rufe ich eine Funktion beim Laden der Seite in angular2 auf?Ausführen einer Funktion beim Laden der Seite, ANGULAR 2

Meine ganze app.component.ts Datei:

import { Component } from '@angular/core'; 

@Component({ 
    templateUrl: './app.component.html' 
}) 
export class appComponent { 

    private checkScreenWidth() { 
    if (window.innerWidth < 1000 && window.innerWidth > 499) { 
     ... 
    } else if (window.innerWidth < 500) { 
     ... 
    } else { 
     ... 
    } 
    } 
} 
+3

Nennen Sie es in 'ngOnInit' oder' ngAfterViewInit'? Haben Sie die Lebenszyklus-Hooks gelesen? Was hast du probiert? – jonrsharpe

+0

@jonrsharpe Ich habe gerade versucht, es in Komponente zu nennen, aber nicht so, wie es sollte. Ich werde auf google ngOnInit nachsehen und dich über den Fortschritt informieren. –

+2

https://angular.io/docs/ts/latest/guide/lifecycle-hooks.html – jonrsharpe

Antwort

3

Sie können die OnInit Schnittstelle von angular2 Core-Bibliothek importieren und implementieren und definieren seine ngOnInit Verfahren nach der Schnittstelle in der Klasse implementiert. Ich denke, es wird den Job machen.

export class appComponent implements OnInit { 
    private checkScreenWidth() { 
    if (window.innerWidth < 1000 && window.innerWidth > 499) { 
     ... 
    } else if (window.innerWidth < 500) { 
     ... 
    } else { 
     ... 
    } 
    } 
    ngOnInit() { 
    this.checkScreenWidth(); 
    } 

} 
0

Vor allem Import OnInit von ‚@ Winkel/core'module und dann eine Methode innerhalb ngOnInit aufrufen, die Sie laden ihre wie ng-init von AngularJS anrufen möchten.

import { Component, OnInit } from '@angular/core'; 

ngOnInit() { 
    this.checkScreenWidth(); 
    } 
Verwandte Themen