this *ngIf:
<div *ngIf="type === FilterType.DateRangeFilter">
...
</div>
results in the error
error TS2339: Property 'FilterType' does not exist on type 'FilterComponent
even though the enum type FilterType is imported into the component:
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 {
}
}
from here:
export enum FilterType {
DateRangeFilter, SensorSelectFilter
}
Any ideas why this wouldn't work?
Your HTML template doesnt have access to variables declared outside of your component. To resolve this, assign the enum to a variable within your component's scope
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
}
and then in your template
<div *ngIf="type === filterType.DateRangeFilter">
...
</div>
the property type is used in the FilterComponent as private, to be able to use it change it to public or create a new one in FilterComponent and assign it from the constructor