0

I'm building an application using angular that keeps track of composers and lists them. However, I keep getting these same two errors every time I try to build and run it. The errors are being found in my composer-details.component.ts file.

I'm fairly new to Angular so any advice would help a ton thank you!

composer-details.component.ts:23:3 - error TS2564: Property 'composer' has no initializer and is not definitely assigned in the constructor.

composer-details.component.ts:26:32 - error TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'.

composer-details.component.ts

import { Component, OnInit } from '@angular/core';
import { IComposer } from '../composer.interface';
import { ComposerService } from '../composer.service'
import { ActivatedRoute } from '@angular/router';

@Component({
  selector: 'app-composer-details',
  templateUrl: './composer-details.component.html',
  styleUrls: ['./composer-details.component.css']
})


export class ComposerDetailsComponent implements OnInit {
  composerId: number;
  composer: IComposer;

  constructor(private route: ActivatedRoute, private composerService: ComposerService) {
    this.composerId = parseInt(this.route.snapshot.paramMap.get('composerId'), 10);

    if (this.composerId) {
      this.composer = this.composerService.getComposer(this.composerId);
    }
  }

  ngOnInit(): void {

  }

}

NeNaD
  • 18,172
  • 8
  • 47
  • 89
  • Does this answer your question? [Property '…' has no initializer and is not definitely assigned in the constructor](https://stackoverflow.com/q/49699067/8017690) – Yong Shun Aug 30 '21 at 04:01

1 Answers1

2

Try to use ! operator when initializing properties:

composerId!: number;
composer!: IComposer;
NeNaD
  • 18,172
  • 8
  • 47
  • 89