我正在使用Express和EJS來提供頁面。我爲UI使用Bootstrap,特別是導航欄。在使用快遞時在EJS視圖中查找當前網址
我想添加一個'active'
類到當前頁面的<li>
項目,以顯示當前頁面。但是,我找不到如何從呈現頁面的EJS代碼中獲取URL。
我發現了兩個解決方法:我使用了包括傳遞頁面名稱作爲參數的路由res.render('myview', {pageName: 'myView'});
- 這是不可伸縮的,可能會導致問題。
另一種方式是在客戶端使用jQuery將'active'
類添加到頁面準備好的項目上 - 但這意味着在每個視圖中包含這段腳本+一些無用的客戶端循環。
之前使用過幾種服務器端渲染語言,我覺得我錯過了一些東西。在線EJS文檔並不是那麼好。
有什麼方法可以從EJS代碼中找到我當前的路徑/ url?
更新: 我採取了前兩個建議,並將視圖名稱作爲參數傳遞給視圖。我真的很喜歡@tandrewnichols的想法自動計算它,但最終,它只是複製粘貼字符串更容易:)
而你如何從EJS獲得主動? –