从DB / ng2填充textarea

时间:2017-05-10 10:17:10

标签: angular typescript httprequest get-request

我正在尝试使用我的firebase数据库中的数据来填充textarea。我知道我应该使用ngModel,但我更倾向于使用语法。

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

在空“”中,我尝试编写HttpService.getData();但那没用。 我也尝试过编写http.service.ts.getData(),但这也不起作用。

通过使用下面的代码,我能够将响应输出到控制台,所以我应该以某种方式使用它...有人能告诉我怎么样?

@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));

  }

1 个答案:

答案 0 :(得分:0)

获取数据后,将其存储在一个变量中,然后可以在ngModel中使用该变量:

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

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

然后:

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