html - 如何有效地存储菜单项?
问题描述
在我的学校项目中,我们必须为餐厅建立一个网站,所以,一个简单的数字菜单,现在,我必须让它静态,所以没有数据库。但是我遇到了一个问题。让我解释。我将食物分为几类(例如:饮料、食物)。我为每个类别创建了一张带有图像的简单卡片,让我们以“食物”类别为例。当用户按下“查看菜单”按钮时,我做到了,所以这个列表以弹出窗口的形式显示。这里是:
但是,这是我实际保存菜单数据的一部分:
<div class="menu">
<h2>Our Menu</h2>
<ul>
<li>
<label>
<input type="checkbox" name="">
<span class="icon"></span>
<span class="list">Fried Fish With Souce</span>
</label>
</li>
</ul>
</div>
正如你所看到的,我必须为每件商品写很多包含在 <li> 标签中的 HTML 标签,实际上必须写价格和描述。我写所有项目都没有问题,但我只想写一次,最大的问题是现在,我在 index.html 文件中为菜单写了所有内容,并显示:无;属性设置在菜单上,直到按下“查看菜单”按钮。我的问题是,我怎样才能以有效的方式存储数据,以便将来甚至可以对其进行修改。我想使用相同样式的菜单,但内容和元素数量必须从类别到类别有所不同。我听说过一些关于 XML 的东西,但我不知道它在这种情况下是否有用。我希望这个问题的答案也能帮助将来的人。提前致谢!
解决方案
我将数据本身存储在对象数组中(可能在本地存储中)并在文档加载时填充它,通过 JS 创建 HTML。就像是
const storedMenu = [{name: "Fried Fish With Souce", checked: false},
{name:"anotherName", checked: false}]
然后填充函数是这样的:
storedMenu.reduce((accumulator, currentItem) => {
accumulator += `<label>
<input type="checkbox" name="">
<span class="icon"></span>
<span class="list">${currentItem.name}</span>
</label>`
}, '' )
我认为这可以解决您的问题,如果您需要更多信息或更真实的代码,请告诉我
减少文件
推荐阅读
- netlogo - 如何在 NetLogo 中打开 .tif 文件?
- javascript - 初始化 disabled=True 时按钮 onClick 不起作用(Reactjs)
- android - 使用权限共享首选项
- python - 我正在尝试使用 python 从(https://www.expresslanes.com/map-your-trip) 抓取收费数据,但我不知道如何使用 XHR 抓取数据
- php - 如何交换已弃用的每个功能
- javascript - 将 p12 文件中的证书转换为 base64
- c++ - 某些特定 Windows 语言环境的奇怪行为:为什么以及如何应对?
- javascript - 专注于选择元素也会打开它:可以防止吗?
- javascript - 在水平滚动导航栏上使用 javascript 或 jQuery 将 li 项居中
- flutter - 带有 onWillDismiss 的 Flutter Slidable 小部件错误