este *ngIf :
<div *ngIf="type === FilterType.DateRangeFilter"> ... </div>resulta en el error
error TS2339: Property 'FilterType' does not exist on type 'FilterComponent
aunque el tipo de enumeración FilterType se importa al componente:
import { FilterType } from '../filter-collection/filter-collection.component' @Component({ selector: 'app-filter', templateUrl: './filter.component.html', styleUrls: ['./filter.component.css'] }) export class FilterComponent { constructor(private type : FilterType) { } ngOnInit(): void { } }de aquí:
export enum FilterType { DateRangeFilter, SensorSelectFilter }¿Alguna idea de por qué esto no funcionaría?
Su plantilla HTML no tiene acceso a variables declaradas fuera de su componente. Para resolver esto, asigne la enumeración a una variable dentro del alcance de su componente
import { FilterType } from '../filter-collection/filter-collection.component' @Component({ selector: 'app-filter', templateUrl: './filter.component.html', styleUrls: ['./filter.component.css'] }) export class FilterComponent { constructor(private type : FilterType) { } ngOnInit(): void { } filterType = FilterType }y luego en tu plantilla
<div *ngIf="type === filterType.DateRangeFilter"> ... </div>el type de propiedad se usa en el FilterComponent como private , para poder usarlo cámbialo a public o crea uno nuevo en FilterComponent y asígnalo desde el constructor