Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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 组件EmployeedetailComponent的模板中出错_Angular_Typescript - Fatal编程技术网

Angular 组件EmployeedetailComponent的模板中出错

Angular 组件EmployeedetailComponent的模板中出错,angular,typescript,Angular,Typescript,我是Angular的新手,正在尝试使用此链接构建一个小型crud应用程序 我完全按照上面提到的那样做了。我犯了一个我似乎无法理解的错误。 错误如下: ERROR in src/app/employeedetail/employeedetail.component.html:7:110 - error TS2554: Expected 1 arguments, but got 0. <button pButton type="button" label="

我是Angular的新手,正在尝试使用此链接构建一个小型crud应用程序

我完全按照上面提到的那样做了。我犯了一个我似乎无法理解的错误。 错误如下:

     ERROR in src/app/employeedetail/employeedetail.component.html:7:110 - error TS2554: Expected 1 
     arguments, but got 0.

     <button pButton type="button" label="Delete" icon="pi pi-times" class="ui-button-secondary" 
     (click)="deleteEmployee()"></button>   

      ~~~~~~~~~~~~~~

      src/app/employeedetail/employeedetail.component.ts:8:16
      8   templateUrl: './employeedetail.component.html'
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Error occurs in the template of component EmployeedetailComponent.
src/app/employeedetail/employeedetail.component.html:7:110中出现错误-错误TS2554:1 参数,但得到0。 ~~~~~~~~~~~~~~ src/app/employeedetail/employeedetail.component.ts:8:16 8 templateUrl:“./employeedetail.component.html” ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 组件EmployeedetailComponent的模板中出错。 共享我的文件: EmployeeDetail.component.ts:

import { Component, Input, Output, EventEmitter } from '@angular/core';
import { Employee } from 'src/entity/employee';
import { Router } from '@angular/router
import { EmployeeserviceService } from '../services/employeeservice.service';

@Component({
selector: 'app-employeedetail',
 templateUrl: './employeedetail.component.html'

})
export class EmployeedetailComponent  {

 // Input variable to display properties of an employee
 @Input() employee: Employee;

// Output variable used to tell the parent component to refesh the employee list after successful 
delete
@Output() refreshEmployeeList: EventEmitter<boolean> = new EventEmitter<boolean>();


// Service injected in constructor
constructor(private employeeService: EmployeeserviceService, private router: Router) { 
}

// Method to edit employee details
editEmployee(){
this.router.navigate(["EditEmployee/"+ this.employee.id]);
 }


 deleteEmployee(employeeToBeDeleted: Employee){
 var result = confirm("Are you sure, you want to delete this Employee?");
 if (result) {
  this.employeeService.deleteEmployee(this.employee.id);
  this.refreshEmployeeList.emit(true);
  this.router.navigate(["Employees"]);
   } 



 }
 }
从'@angular/core'导入{Component,Input,Output,EventEmitter};
从'src/entity/Employee'导入{Employee};
从'@angular/Router'导入{Router}
从“../services/employeeservice.service”导入{EmployeeserviceService};
@组成部分({
选择器:“app employeedetail”,
templateUrl:“./employeedetail.component.html”
})
导出类EmployeedetailComponent{
//输入变量以显示员工的属性
@输入()职员:职员;
//输出变量,用于告诉父组件在成功执行后参照员工列表
删除
@Output()refreshEmployeeList:EventEmitter=new EventEmitter();
//构造函数中注入的服务
构造函数(私有employeeService:EmployeeserviceService,私有路由器:路由器){
}
//用于编辑员工详细信息的方法
编辑员工(){
this.router.navigate([“EditEmployee/”+this.employee.id]);
}
删除员工(员工待删除:员工){
var result=confirm(“您确定要删除此员工吗?”);
如果(结果){
this.employeeService.deleteEmployee(this.employee.id);
this.refreshEmployeeList.emit(true);
this.router.navigate([“Employees”]);
} 
}
}
Employeedetail.Component.html

  <p-card [style]="{width: '360px'}" styleClass="ui-card-shadow">
 <div>{{employee.firstname}} {{employee.lastname}}</div>
 <div>Age: {{employee.age}} Years</div>
 <div>{{employee.designation}}</div>
 <footer>
    <button pButton type="button" label="Edit" icon="pi pi-check" style="margin-right: .25em" 
    (click)="editEmployee()"></button>
    <button pButton type="button" label="Delete" icon="pi pi-times" class="ui-button-secondary" 
    (click)="deleteEmployee()"></button>
 </footer>
 </p-card>

{{employee.firstname}{{employee.lastname}}
年龄:{{employee.Age}}年
{{雇员名称}
如果您想查看更多文件,请访问上述链接。
有人能帮我解决这个错误吗?

这是因为您已将该方法定义为:

deleteEmployee(employeeToBeDeleted: Employee) {
  ... 
}
但是调用它而不向它传递参数。将参数传递给函数,如下所示:

<button pButton type="button" label="Delete" icon="pi pi-times" 
        class="ui-button-secondary" 
       (click)="deleteEmployee(employee)">             <-- change made here
</button>

检查您的方法
删除员工
签名。您的方法希望获得类型为
Employee
的参数,但在模板中您没有提供任何参数。您必须删除此参数或将其传递到模板中


另外,不要使用
var
来声明变量。如果要更改值,请使用
let
,否则请使用
const

您的deleteEmployee方法中存在问题。请传递参数,它将被修复。

哦,是的。这解决了我的问题。非常感谢。这是一个愚蠢的错误。对不起,我是初学者。当然欢迎来到Stackoverflow:-)你说“它将被修复”是什么意思?问题是什么?请把你的答案扩大一点。