Я просмотрел такие вопросы, как этот а>. Но это не совсем ответ на мой вопрос. Я хочу связать имя локальной переменной со значением перечисления, как в следующем (сильно упрощенном) примере:
В certain-state.component.ts
:
export enum CertainState {
VALID,
INVALID
}
export class CertainStateComponent {
// holder for the current state
public state: CertainState;
// store the actual enum in the instance of the class so that
// it is available in the template
public certainStates: typeof CertainState = CertainState;
// below is the logic which sets the state
...
}
В certain-state.component.html
:
<ng-container *ngTemplateOutlet="state_{{state}}"></ng-container>
// obviously this is invalid syntax but I want to demonstrate my intention
<ng-template #state_{{certainStates.VALID}}><span>VALID</span></ng-template>
<ng-template #state_{{certainStates.INVALID}}><span>INVALID</span></ng-template>
EDIT: я думаю, что решение находится в следующем ответе: Как использовать значение перечисления машинописного текста в операторе Angular2 ngSwitch. Ребята, что вы думаете?