Как получить данные и подписаться на них в angular2

angular angular2-observables

758 просмотра

1 ответ

Я пытаюсь получить результаты и сопоставить их с наблюдаемыми, но я не могу их получить, может кто-нибудь, пожалуйста, помогите мне.

 import { Injectable } from '@angular/core';
 import {Component} from '@angular/core';
 import {Http, Response, Headers} from '@angular/http';
 import {Observable} from 'rxjs/Observable';
 import { IStudent1 } from '../interface';
 import { IStudent2 } from '../interface';
 import {ROUTER_DIRECTIVES} from '@angular/router';
 import {GetSocietyList} from './service'
  import {FORM_DIRECTIVES, FormBuilder, FormGroup, Validators, REACTIVE_FORM_DIRECTIVES} from '@angular/forms';

  @Component({
      selector: 'Search',
      templateUrl:  './components/search/search.html',
      directives: [ ROUTER_DIRECTIVES, FORM_DIRECTIVES,    REACTIVE_FORM_DIRECTIVES],
       providers : [GetSocietyList],
       inputs : ['form']
    })

    export class Search {
    property:any = 'Add';
     data: string;
     form: FormGroup;
    prop: string = 'connenct';
    details: IStudent1[];
     details1: IStudent2[];

       constructor(fbld: FormBuilder,public http: Http,private _profileservice:GetSocietyList) {
      this.details = [];
      this.http = http;
       this._profileservice.getSocietyList()
        .subscribe(details => this.details = details);

        console.log(this.details);
   this.form = fbld.group({
        name: [''],
        age: ['', Validators.required],
        class: ['', Validators.required],
        grade: ['', Validators.required]

    });

}


   edit(id): any {
//console.log(id);
this.property = 'update';
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded')
this.http.get('http://localhost/a2server/index.php/profile/editprofiledb/' + id, { headers: headers }).map(res=> res.json());}


}

Я пытаюсь получить результаты и сопоставить их с наблюдаемыми, но я не могу их получить, может кто-нибудь, пожалуйста, помогите мне.

Автор: MMR Источник Размещён: 08.11.2019 10:58

Ответы (1)


1 плюс

Вы можете использовать любой функциональный оператор, например, mapчтобы получить ответ.

edit(id): any {
    //console.log(id);
    this.property = 'update';
    var headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded')
    this.http.get('http://localhost/a2server/index.php/profile/editprofiledb/' + id, { headers: headers }).map(res=> res.json());

`

и в вашем компоненте / директиве вы можете subscribeза это.

constructor(private service:SomeHttpService) {
}

callingGetService() {
  this.service.edit('id').subscribe();
}

посмотри здесь

Автор: candidJ Размещён: 20.08.2016 07:06
Вопросы из категории :
32x32