Угловой идентификатор для добавления / удаления запроса - PullRequest
0 голосов
/ 19 ноября 2018

в настоящее время я пытаюсь добавить номер Id к каждому из моих http (например, http://202.160.1.102:8084/api/aq/{id}) для моего запроса на установку / удаление. Метод put, который я пытаюсь отправить, - это onClickUpdate (), я используюNgfor, чтобы просмотреть все мои результаты в edit.component.html, и все они находятся в группе форм, но ниже мой edit.component.ts:

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import  { AQ } from '../AQ';

@Component({
  selector: 'app-edit2',
  templateUrl: './edit2.component.html',
  styleUrls: ['./edit2.component.css']
})
export class Edit2Component implements OnInit {

  todayForm: FormGroup;
  submitted = false;
  data_aq: AQ[]
  public formID = this.todayForm.controls['ID'].value

  constructor(
    private HttpClient: HttpClient,
    private formBuilder: FormBuilder
  } {
    this.todayForm = this.formBuilder.group({
      ID: [''],
      District: [''],
      Value: [''],
      LastUpdate: [''],
    });
  }

  ngOnInit() {
    this.HttpClient.get('http://202.160.1.102:8084/api/aq').subscribe(
      data => {
        console.log(data)
        this.data_aq = < AQ[] > data
      })

    this.todayForm = this.formBuilder.group({
      ID: [''],
      District: [''],
      Value: [''],
      LastUpdate: [''],
    });
    let formID = this.todayForm.controls['ID'].value
  }

  onClickUpdate(formID) {
    this.HttpClient.put('http://202.160.1.102:8084/api/aq/' + formID, this.todayForm.value).subscribe(data => {
      console.log(data)
    })
    // stop here if form is invalid
    if (this.todayForm.invalid) {
      return;
    }
    alert('SUCCESS!! :-)');
  }

}

Моя проблема в том, что я продолжаю получать ошибкузапрос при отправке запроса на установку через клиентcontrols of undefined

Я также хотел бы знать, будет ли метод удаления для Angular просто добавить метод удаления на httpclient?, чтобы метод удаления был:

onClickDelete(formID) {
  this.HttpClient.put('http://202.160.1.102:8084/api/aq/' + formID, this.todayForm.value).subscribe(data => {
    console.log(data)
  });
  // stop here if form is invalid
  if (this.todayForm.invalid) {
    return;
  }

  alert('SUCCESS!! :-)')
}

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Использовать функцию выражения Ламды, например

onClickDelete = (formID) => {
   this.HttpClient.put('http://202.160.1.102:8084/api/aq/' + formID ,this.todayForm.value).subscribe(data=>{
          console.log(data)
       })
        // stop here if form is invalid
        if (this.todayForm.invalid) {
            return;
        }

        alert('SUCCESS!! :-)')



    }
}

И для метода удаления Использовать

this.httpclient.delete('http://202.160.1.102:8084/api/aq/' + this.todayForm.value).subscribe(data => {
console.log(data)

});

0 голосов
/ 19 ноября 2018

Я думаю, что вы должны использовать get API в FormGroup вместо прямого доступа к таким элементам управления, как этот. Изменение

let formID = this.todayForm.controls['ID'].value

до

let formID = this.todayForm.get('ID').value
...