我正在尋找最佳的方式來即時創建複雜的導航元素。我擁有數據庫中的所有元素(標題,ID,parentId),並且我想有效地將它們從數據庫中取出並正確顯示。我也想摺疊所有不活動的導航元素。因此,如果我瀏覽「沙發」,我不會看到「枝形吊燈」或照明下的任何類別,但我會看到「照明」。動態創建動態導航
這就是我想要的最終產品看起來像:
- 傢俱
- 客廳
- 沙發
- 椅子
- 腳墊
- 臥室
- 牀
- 牀頭
- 客廳
- 照明
- 吊燈
- 落地燈
- 壁燈
- 地毯&種紡織品
- 當代
- 復古
我現在的方法是
- 寫一個SQL查詢,拉低所有的類別名稱,ID和父ID的
- 遍歷這些類別並將其放入一個已排序的多維數組中,並在子元素下存儲子類別TS。
- 迭代通過新的數組和添加其他的記錄標記適當的類別爲開放(所有類別都默認是關閉的),通過陣列
- 迭代和寫入HTML
我想這個儘可能少的交易,我相信我現在的代碼是低效的。特別是第2步,我遍歷數組數次。這個(普通的?)問題必須有一個通用的解決方案。
你爲什麼不標註相應的類別第二迭代期間開放,同時創造一個多維數組? – haynar
您是否使用JavaScript或其他客戶端邏輯?如果沒有,那麼你看不到的東西就無法打開,並且沒有理由得到/處理那些信息...... – jswolf19