I am following this video tutorial (text version of the same). I have followed exactly the same code and I am receiving this error:
error TS2339: Prop
If all things mentioned above checked, check
constructor(private _employeeService: EmployeeService) { }
private, the access specifier is there. The same issue will occur when access specifier missed.
I would also subscribe to the service method instead of saving it to another value in ngOnInit()
:
ngOnInit() {
this.employees = this._EmployeeService.getEmployees();
}
To something like:
ngOnInit(){
this.getEmployees()
}
private getEmployees(): void {
this._EmployeeService.getEmployees()
.subscribe(fetchedEmployees = > this.employees = fetchedEmployees)
}
It usually happens when you develop Angular applications. To solve this just shut down the server & start it again:
$ ng serve
This happens because when you start the application, The server is actually serving the bundles(JavaScript/CSS/HTML... output files) stored in the dist folder. Sometimes, when you make changes in your code, the changes don't reflect in your bundles, which will lead to the server still using the old bundles.
Use a static keyword in the method declaration:
public static getEmployees(): any []{
}
If you want to avoid the compilation warning then the dirty fix would be to make
employees: any[];
any instances allow any method to call any method on that object. This will avoid compilation warning but it's not runtime safe.
You need to be careful before using it. If you are sure that the method will be available at runtime then only use it.