ユーザー入力に基づいて 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']
}
これがメニューのオブジェクト モデルを作成する最良の方法ではないことはわかっています。これをもっと小さなパーツに分割する必要がありますか? それとも、これをやろうとして完全に間違っていますか?