Angular
Typescript: Move Variable From Constructor to Function
Wie kann man eine Variable vom Constructor Aufruf in
eine lokale Methode verschieben
Aufgabe:
Ich möchte den java Typescript Code der Angular
constructor in eine lokale ngOnInit() verschieben
Der Code soll von constructor nach ngOnInit() verschoben
werden
Constructor
constructor(afDb:AngularFireDatabase) {
//*works
const itemsRef: AngularFireList<any> = afDb.list('Aufgaben');
itemsRef.valueChanges().subscribe(
x=>{ this.firebase_Data = x;}
);
}
|
Man kann den javascript Code verschieben indem man die include
parameter bei aufruf des constructors mit private declariert und beim Aufruf in
den neuen Funktion ein this. Hinzufügt
Code nach der
Umstellung.
Mit .this in der Methode und private im Constructor
constructor(private afDb:AngularFireDatabase) {
}
ngOnInit()
{
//*works
const itemsRef: AngularFireList<any> = this.afDb.list('Aufgaben');
itemsRef.valueChanges().subscribe(
x=>{ this.firebase_Data = x;}
);
}
|
App.component.ts
vor der Umstellung
export class AppComponent {
//--< Daten >--
title = 'dailycheck';
//public firebase_Data: Observable<any>[]; //works with AngularFireList<any>..subscribe(x=>{ this.aufgaben= x;}
public firebase_Data;
//--</ Daten >--
//--< Daten von Firebase holen >--
constructor(afDb:AngularFireDatabase) {
//*works
const itemsRef: AngularFireList<any> = afDb.list('Aufgaben');
itemsRef.valueChanges().subscribe(
x=>{ this.firebase_Data = x;}
);
}
ngOnInit()
{
}
//--</ Daten von Firebase holen >--
}
|
App.component.ts nach der Umstellung
import { Component } from '@angular/core';
import { AngularFireDatabase,AngularFireList } from 'angularfire2/database';
import { Observable } from 'rxjs';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
//--< Daten >--
title = 'dailycheck';
//public firebase_Data: Observable<any>[]; //works with AngularFireList<any>..subscribe(x=>{ this.aufgaben= x;}
public firebase_Data;
//--</ Daten >--
//--< Daten von Firebase holen >--
constructor(private afDb:AngularFireDatabase) {
}
ngOnInit()
{
//*works
const itemsRef: AngularFireList<any> = this.afDb.list('Aufgaben');
itemsRef.valueChanges().subscribe(
x=>{ this.firebase_Data = x;}
);
}
//--</ Daten von Firebase holen >--
}
|