我正在关注 这个视频教程( 相同的文本版本)。我遵循了完全相同的代码,我收到了这个错误:
错误 TS2339:“EmployeeService”类型上不存在属性“getEmployees”
我在 Internet 上查看并访问了 Stack Overflow 上的许多问题,例如 this 、 this 、 this 和 this ,以及 GitHub 上与此错误相关的许多其他问题。
服务:
//import statements go here ...
@Injectable()
export class EmployeeService {
private listEmployees: Employee[] = [
{
//just to avoid longer code, deleted dummy data.
},
];
getEmployees(): Employee[] {
return this.listEmployees; //ERROR in src/app/employees/list-employees.component.ts(14,44)
}
}
组件类:
//import statements
@Component({
selector: 'app-list-employees',
templateUrl: './list-employees.component.html',
styleUrls: ['./list-employees.component.css']
})
export class ListEmployeesComponent implements OnInit {
employees: Employee[];
constructor(private _EmployeeService: EmployeeService) { }
ngOnInit() {
this.employees = this._EmployeeService.getEmployees();
}
}
我在 app.module.ts
中导入了服务,并将其添加到 ngModule
的提供者数组中。
我无法解决错误,也无法理解导致此错误的原因。
原文由 Gaurav Chauhan 发布,翻译遵循 CC BY-SA 4.0 许可协议
它通常发生在您开发 Angular 应用程序时。要解决这个问题,只需关闭服务器并重新启动它:
解释
发生这种情况是因为当您启动应用程序时,服务器实际上正在为存储在 dist 文件夹中的包(JavaScript/CSS/HTML…输出文件)提供服务。有时,当您对代码进行更改时,这些更改不会反映在您的包中,这将导致服务器仍然使用旧的包。