Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 带有类型为“quot”的参数的问题&引用;不可分配给字符串[]类型的参数器-用于_Angular_Typescript - Fatal编程技术网

Angular 带有类型为“quot”的参数的问题&引用;不可分配给字符串[]类型的参数器-用于

Angular 带有类型为“quot”的参数的问题&引用;不可分配给字符串[]类型的参数器-用于,angular,typescript,Angular,Typescript,我正在尝试使用visual studio部署我的应用程序,当我运行“node\u modules\webpack”时 \bin\webpack.js--env.prod“我得到了下面的错误,我还将(“strictNullChecks”:false)添加到了我的ts.config.json中,但它仍然不起作用,如果您能帮我解决这个问题,我们将不胜感激 错误 这是我的fetchemployee.component.ts 这是我的AddEmployee.component.html {{title}

我正在尝试使用visual studio部署我的应用程序,当我运行“node\u modules\webpack”时 \bin\webpack.js--env.prod“我得到了下面的错误,我还将(“strictNullChecks”:false)添加到了我的ts.config.json中,但它仍然不起作用,如果您能帮我解决这个问题,我们将不胜感激

错误 这是我的fetchemployee.component.ts 这是我的AddEmployee.component.html

{{title}}
雇员扣除额

姓名: 名称是必需的。 受雇者 编号: 员工编号是必需的。 Pur类型: --选择Pur类型-- 管理信息系统 TLS 统一 Pur类型是必需的 付款交单: --选择付款交单-- B P 付款交单是必需的
金额:错误指向该行

<span class="text-danger" 
      *ngIf="employeeForm.hasError('required', 'amount') && formDir.submitted">

您试图将
'amount'
作为的第二个参数传递,但正如您在文档(以及错误消息)中所看到的,第二个参数应该是字符串的数组

import { Component, Inject, SimpleChange, SimpleChanges } from
'@angular/core';

import { Http, Headers } from '@angular/http';

import { Router, ActivatedRoute } from '@angular/router';

import { saveAs } from 'file-saver/FileSaver';

import { EmployeeService } from '../../services/empservice.service'


@Component({
   selector: 'fetchemployee',

   templateUrl: './fetchemployee.component.html',

   styleUrls: ['./fetchemployee.component.css']

})
export class FetchEmployeeComponent {

   public empList: EmployeeData[] | any;


   constructor(public http: Http, private router: Router, private
employeeService: EmployeeService) {

       this.getEmployees();

   }

   getEmployees() {

       this.employeeService.getEmployees().subscribe(
           data => this.empList = data
       )

   }

   delete(employeeID) {

       var ans = confirm(`Are you shoure you want to delete this deduction
for: ${employeeID}`);

       if (ans) {

           this.employeeService.deleteEmployee(employeeID).subscribe
((data) => {

                   this.getEmployees();

               },
               error => console.error(error))

       }

   }

   getSum(column, e: any[]): string {
       let sum = 0;
       for (let i = 0; i < e.length; i++) {
           console.log("Yo the array is " + e.length);
           sum += parseFloat(e[i][column]);
       }
       return sum.toLocaleString('en');
   }

   exportEsker(data: any) {

       const replacer = (key, value) => value === null ? '' : value; //
specify how you want to handle null values here
       const k = ["name", "empno", "purtype", "bp", "amount"];
//Object.keys(data[0]);
       const actualheader = ["Employee Name", "Employee No.", "Pur. Type",
"B/P", "Amount"];


       console.log(k);
       console.log(data);

       let csv = data.map(row => k.map(fieldName => JSON.stringify(row
[fieldName], replacer)).join(','));
       csv.unshift(actualheader.join(','));

       let csvArray = csv.join('\r\n');
       console.log(csvArray);
       var blob = new Blob([csvArray], { type: 'text/csv' });
       saveAs(blob, "myFile.csv");
   }


   term: string = "";
}

interface EmployeeData {

   id: number;

   name: string;

   empno: string;

   purtype: string;

   bp: string;

   amount: number;
}
import { Component, OnInit } from "@angular/core";
import { Http, Headers } from "@angular/http";
import { NgForm, FormBuilder, FormGroup, Validators, FormControl } from
"@angular/forms";
import { Router, ActivatedRoute } from "@angular/router";
import { FetchEmployeeComponent } from
"../fetchemployee/fetchemployee.component";
import { EmployeeService } from "../../services/empservice.service";

@Component({
   selector: "createemployee",
   templateUrl: "./AddEmployee.component.html"
})

export class createemployee implements OnInit {
   employeeForm: FormGroup;
   title: string = "Create";
   id: number;
   errorMessage: any;

   constructor(private _fb: FormBuilder, private _avRoute: ActivatedRoute,
       private _employeeService: EmployeeService, private _router: Router)
{
       if (this._avRoute.snapshot.params["id"]) {
           this.id = this._avRoute.snapshot.params["id"];
       }

       this.employeeForm = this._fb.group({
           id: 0,
           name: ["", [Validators.required]],
           empno: ["", [Validators.required]],
           purtype: ["", [Validators.required]],
           bp: ["", [Validators.required]],
           amount: ["", [Validators.required]]

       });
   }

   ngOnInit() {
       if (this.id > 0) {
           this.title = "Edit";
           this._employeeService.getEmployeeById(this.id)
               .subscribe(resp => this.employeeForm.setValue(resp)
                   , error => this.errorMessage = error);
       }
   }

   save() {

       if (!this.employeeForm.valid) {
           return;
       }

       if (this.title === "Create") {
           this._employeeService.saveEmployee(this.employeeForm.value)
               .subscribe(() => {
                   this._router.navigate(["/fetch-employee"]);
               }, error => this.errorMessage = error);
       }
       else if (this.title === "Edit") {
           this._employeeService.updateEmployee(this.employeeForm.value)
               .subscribe(() => {
                   this._router.navigate(["/fetch-employee"]);
               }, error => this.errorMessage = error);
       }
   }

   cancel() {
       this._router.navigate(["/fetch-employee"]);
   }



   get name() { return this.employeeForm.get("name"); }

   get empno() { return this.employeeForm.get("empno"); }

   get purtype() { return this.employeeForm.get("purtype"); }

   get bp() { return this.employeeForm.get("bp"); }

   get amount() { return this.employeeForm.get("amount");  }

}
<!DOCTYPE html>

<html>

<head>

   <meta charset="utf-8" />

   <title></title>

</head>

<body>

<h1>{{title}}</h1>

<h3>Employee Deduction</h3>

<hr />

<form [formGroup]="employeeForm" (ngSubmit)="save()" #formDir="ngForm"
novalidate>

   <div class="form-group row">

       <label class=" control-label col-md-12" for="Name">Name:</label>

       <div class="col-md-4">

           <input class="form-control" type="text" formControlName="name">

       </div>

       <span class="text-danger" *ngIf="employeeForm.hasError('required',
'name') && formDir.submitted">

           Name is required.

       </span>

   </div>

   <div class="form-group row">

       <label class=" control-label col-md-12" for="Empno">Employee
Number:</label>

       <div class="col-md-4">

           <input class="form-control" type="text" formControlName
="empno">

       </div>

       <span class="text-danger" *ngIf="employeeForm.hasError('required',
'empno') && formDir.submitted">

           Employee number is required.

       </span>

   </div>

   <div class="form-group row">

       <label class="control-label col-md-12" for="Purtype">Pur Type:</
label>

       <div class="col-md-4">

           <select class="form-control" data-val="true" formControlName
="purtype">

               <option value="">-- Select Pur Type --</option>

               <option value="MIS">MIS</option>

               <option value="TLS">TLS</option>

               <option value="UNI">UNI</option>


           </select>

       </div>

       <span class="text-danger" *ngIf="employeeForm.hasError('required',
'purtype') && formDir.submitted">

           Pur Type is required

       </span>

   </div>

   <div class="form-group row">

       <label class="control-label col-md-12" for="Bp">B/P:</label>

       <div class="col-md-4">

           <select class="form-control" data-val="true" formControlName
="bp">

               <option value="">-- Select B/P --</option>

               <option value="B">B</option>

               <option value="P">P</option>

           </select>

       </div>

       <span class="text-danger" *ngIf="employeeForm.hasError('required',
'bp') && formDir.submitted">

           B/P is required

       </span>

   </div>

   <div class="form-group row">

       <label class=" control-label col-md-12" for="Amount">Amount:</label


       <div class="col-md-4">

           <input class="form-control" type="number" step="0.01"
formControlName="amount">

       </div>

       <span class="text-danger" *ngIf="employeeForm.hasError('required',
'amount') && formDir.submitted">

           Amount is required.

       </span>

   </div>


   <div class="form-group">

       <button type="submit" class="btn btn-primary">Save</button>

       <button class="btn btn-danger" (click)="cancel()">Cancel</button>

   </div>

</form>

</body>

</html>
<span class="text-danger" 
      *ngIf="employeeForm.hasError('required', 'amount') && formDir.submitted">