У вас есть 2 варианта:
Вариант 1:
Используйте простые операторы if-else
для проверки типа itemFlag.
checkChemical(itemFlags: ItemFlags) {
if (itemFlags.cancer) {
// Logic for Cancer case
} else if (itemFlags.reproductive) {
// Logic for Reproductive case
} else if (itemFlags.exempt) {
// Logic for Exempt case
}
}
Метод вызывающей стороны должен передать весь объект itemFlags, как показано ниже:
// Perform your logic for initalizaing itemFLags
this.itemFlags = { cancer: true; reproductive: false; exempt: false };
// Pass the entire object to the method
this.checkChemical(this.itemFlags);
Вариант 2:
Если вы не большой поклонник if-else
операторов, вы можете использовать switch
операторов, но для этого вы должны изменить свой интерфейс на enum.
item-flags.model.ts
export enum ItemFlags {
CANCER = 'cancer',
REPRODUCTIVE = 'reproductive',
EXEMPT = 'exempt'
}
Компонент / Сервисный файл:
checkChemical(itemFlags: ItemFlags) {
switch(itemFlags) {
case ItemFlags.CANCER:
// Logic for Cancer case
break;
case ItemFlags.REPRODUCTIVE:
// Logic for Reproductive case
break;
case ItemFlags.EXEMPT:
// Logic for Exempt case
break;
default:
// Default case
}
}
Теперь в методе вызывающей стороны вызовите метод checkChemical, как показано ниже:
// CANCER case
this.checkChemical(ItemFlags.CANCER);
// REPRODUCTIVE case
this.checkChemical(ItemFlags.REPRODUCTIVE);
// EXEMPT case
this.checkChemical(ItemFlags.EXEMPT);
Убедитесь, что импортировали перечисление ItemFlags, если это в другом файле.