2017-05-10 8 views
1

Ich versuche, eine Textarea mit Daten aus meiner Firebase-Datenbank zu verbinden. Ich weiß, ich sollte ngModel verwenden, aber ich bin eher auf der Syntax fest.Popup-Textbereich von DB/ng2

<textarea rows="3" cols="35" [(ngModel)]=""> read from db.. </textarea> 

In der leeren "", habe ich versucht, schreiben HttpService.getData(); aber das hat nicht funktioniert. Ich habe auch versucht, http.service.ts.getData() zu schreiben, aber das hat auch nicht funktioniert.

Mit dem folgenden Code kann ich die Antwort an die Konsole ausgeben, also sollte ich das irgendwie benutzen ... Könnte mir jemand sagen wie?

@Injectable() 
export class HttpService { 

    constructor(private http: Http) { } 


    getData() { 
    return this.http.get('https://URL-HERE.json').map((response: Response) => response.json()); 
} 


} 

@Component({ 
    selector: 'message-form', 
    templateUrl: './message-form.component.html', 
    providers: [HttpService] 
}) 
    export class MessageFormComponent implements OnInit{ 
constructor(private httpService: HttpService) { } 

    ngOnInit(){ 

    this.httpService.getData() 
     .subscribe(
     (data: any) => console.log(data)); 

    } 

Antwort

0

Wenn Sie die Daten erhalten, sollte sie in einer Variablen, die Sie dann in der ngModel verwenden:

data: any = {}; // replace any with the actual type 

ngOnInit() { 
    this.httpService.getData() 
    .subscribe(
     (data: any) => { 
     this.data = data; 
     console.log(data); 
    }); 
    } 

und dann:

<textarea rows="3" cols="35" [(ngModel)]="data"> read from db.. </textarea> 
+0

Ahh , Vielen Dank! Das hat den Trick gemacht :) –

+0

Freut mich zu hören, und Sie sind sehr willkommen! :) – Alex