我正在开发一个基于用户输入构建 html 菜单的功能。尽管可以接受简单的参数或数组类型。我认为这不是一个好习惯,而且它使代码难以阅读。如何为使用它构建菜单的函数创建可读的对象模型?菜单对象,具有菜单名称,它们各自的子菜单,......子菜单中的各个项目,如果它们被禁用或具有绑定到其点击事件的功能。例如,考虑以下简单的对象模型:
var menu = {
menus : ['menu1','menu2'],
subMenus : {'menu1' : 'subMenu1', 'menu2' : 'subMenu2'},
subMenuItems : {'subMenu1' : ['subMenu1','item1'], 'subMenu2' : ['item1','item2'] },
subMenu1 : ['item1', 'item2'],
enabled : {'item1' : function() { /* do something */ } },
disabled : ['item1']
}
我知道这不是为菜单创建对象模型的最佳方式。我应该把它分成更小的部分吗?还是我尝试这样做完全错了?