Types have separate declarations of a private property
This happens because by declaring the constructor as taking a private _overlay
parameter, you have created your own _overlay
, but that is already defined in the base class MatSnackBar
.
Remove the private
part from the declaration and inherit it from the base class. Do the same for the other constructor parameters.
export class SnackbarService extends MatSnackBar{
constructor(
_overlay: Overlay,
_liveAnnouncer: LiveAnnouncer,
...
) {
super(_overlay, _liveAnnouncer, ...);
}
}
}
You can still access them via this.
This also happens in cases, were dependencies version mistatch. [From typescript perspective]
For example if your app A uses version 1.0 of a package B, and version 1.0 of package C. However package C uses a different version of package B, say 2.0.
Now you have two different classes with same name in overall build process. To resolve it you must get package C upgraded or package B upgraded, so to have same version accross the App.