Angular 8将未知数量的对象键映射到模型中

时间:2019-07-19 05:03:33

标签: javascript angular typescript

我正在尝试为以下对象(特别是GroupedMenu)创建模型。分组菜单中列出的类别是动态的,在这种情况下,它们是墨西哥卷饼和甜点,但在另一个称呼中,可能是比萨饼,饮料,炸玉米饼,辣酱玉米饼馅。

{
    "name": "Taco Taco",
    "address": "123 somewhereville",
    "groupedMenu": {
        "burritos": [
            {
                "name": "good burrito",
                "category": "burritos",
                "price": "1.59$",
                "description": "It's a burrito, ok?"
            }
        ],
        "desserts": [
            {
                "name": "cinnamonStick",
                "category": "desserts",
                "price": "$5.00",
                "description": "Cinnamon is healthy, try a spoonful."
            }
        ]
    },
}

到目前为止,这是我形成模型的方式:

export interface Restaurant {
    name: string;
    address: string;
    groupedMenu: GroupedMenu;
}

interface GroupedMenu {
    [key: string]: MenuItem;
}

export interface MenuItem {
    name: string;
    description: string;
    img: string;
    price: string;
}

这似乎适用于我的用例,但是我不确定这是否是正确的实现。

我应该如何对GroupedMenu进行建模,以便它处理动态数量的对象键(名称不明(例如墨西哥卷饼,甜点,面食,面,somethingRandom))。还是我的实现是正确的?

1 个答案:

答案 0 :(得分:0)

这是动态键名的标准。