iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 10
0
Modern Web

Angular10 實作教學系列 第 10

NG10鐵人賽 - 10 - 型別實作(2) - enum 轉陣列實作

animal.model.ts

enum AnimalEnum {
    Dog,
    Cat,
    Tiger
}

ts

const animalList = Object.values(AnimalEnum).filter(value => typeof value === 'string')
.map(value => ({ name: String(value), value: AnimalEnum[value] }) );

console.log(animalList);
// [ {name: "Dog", value: 0},{name: "Cat", value: 1},{name: "Tiger", value: 2} ]

switch 搭配 enum

從 html 的 $event 傳到 ts 的值假如是 string 型別,會對應不到 enum 輸出的值,因為 enum 輸出的值 是 number 要注意一下

ts

switch(myAnimal) {
    case AnimalEnum.Dog:
        console.log('Dog');
        break;
    case AnimalEnum.Cat:
        console.log('Cat');
        break;
    case AnimalEnum.Tiger:
        console.log('Tiger');
        break;
}

上一篇
NG10鐵人賽 - 9 - 型別實作(1) - 物件實體化實作
下一篇
NG10鐵人賽 - 11 - 型別實作(3) - enum 和 switch 重疊值顯示相同內容
系列文
Angular10 實作教學30

尚未有邦友留言

立即登入留言