Angular 6构建错误预期有0个参数,但形式为1

时间:2019-03-11 23:00:14

标签: angular

我遇到此错误:构建项目时,预期参数为0,但是为1,但是在ng-serve上,项目是否正常?知道这可能是什么吗?错误指向:(ngSubmit)="onSubmit(serviceForm.value)"

我的html是:

<form class="form-horizontal" [formGroup]="serviceForm" (ngSubmit)="onSubmit(serviceForm.value)">
      <div class="form-group mb-8">
        <div class="col-3 col-sm-12">
          <label class="form-label" for="u_message_description">Please describe your issue:</label>
        </div>
        <div class="col-4 col-sm-12">
          <textarea class="form-input" id="u_message_description" placeholder="Describe your issue" rows="3"
            formControlName="u_message_description"></textarea>
          <h6 class="text-gray mt-2">The more information you can provide here, the easier time the organization will
            have in diagnosing and resolving your issue.</h6>
        </div>
      </div>

      <div class="columns col-12 col-sm-12">
        <div class="column col-10 col-sm-6 text-right">
          <button class="btn btn-link">Cancel</button>
        </div>
        <div class="column col-2 col-sm-6">
          <button class="btn btn-primary" [ngClass]="{'loading': uploading}" [disabled]="!serviceForm.valid" type="submit">Submit</button>
        </div>
      </div>
    </form>

Component.ts

import { Component, OnInit } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { FormGroup, FormControl } from '@angular/forms';
import { Validators } from '@angular/forms';
import { FormBuilder } from '@angular/forms';
import { Request } from '../../models/request.model'
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import { AppComponent } from '../../../app.component';
import { nowService } from '../../services/servicenow.service';
import { HttpClient, HttpEventType, HttpHeaders, HttpRequest, HttpResponse } from '@angular/common/http';


@Component({
  selector: 'app-service-request',
  templateUrl: './service-request.component.html',
  styleUrls: ['./service-request.component.scss']
})
export class ServiceRequestComponent implements OnInit {


  public loading = false;

  public uploading: boolean;

  private customer_id = 7; /// this.appComponent.customer_id;

  serviceForm;

  constructor(private service: nowService,
    private appComponent: AppComponent,
    private router: Router,
    private http: HttpClient,
  ) {
  }

  ngOnInit() {
    this.serviceForm = new FormGroup({
      u_short_description: new FormControl('', Validators.compose([
        Validators.required,
        Validators.minLength(0),
        Validators.maxLength(80)
      ])),
      u_message_description: new FormControl(''),
    });
  }

   onSubmit() {
    if(this.serviceForm.invalid) {
       this.serviceForm.setErrors({ ...this.serviceForm.errors, 'required': true });
       return;
    }
    //this.loading = true;
    this.uploading = true;
    this.service.postFormData(this.serviceForm.value).subscribe((response: any) => {
      console.log(response);//On success response
      this.router.navigate(['/inc/confirmation'],{queryParams: {value: response.result[0].display_value}});
    }, (errorResponse: any) => {
      console.log(errorResponse); //On unsuccessful response
    });
    }
  }

service.ts

postFormData(payload) {
    return this.http.post(this.incidentApiUrl, payload, { headers: new HttpHeaders().set("Content-Type", "application/json") });
  }

1 个答案:

答案 0 :(得分:1)

您的“ onSubmit()”方法不包含任何参数。但是从您的html中,您可以使用一个参数来调用它:“ onSubmit(serviceForm.value)

我只需使用onSubmit()

就可以从html中删除参数。