मैं अपने लेआउट.ईजेएस टेम्पलेट में किस पेज पर हूं, इस पर निर्भर करता हूं कि मैं अपने प्रत्येक नेविगेशन लिंक पर 'वर्तमान' कक्षा प्रस्तुत करना चाहता हूं।नोड.जेएस, एक्सप्रेस, ईजेएस - नेविगेशन में वर्तमान पृष्ठ पर सक्रिय कक्षा
वर्तमान में, मेरी एक्सप्रेस नियंत्रक सूचकांक इस तरह दिखता है:
// About
exports.about = function(req, res) {
res.render('content/about.ejs', {
title: 'About'
});
};
और मेरे layout.ejs में मैं निम्नलिखित, पसंद जो मैं गतिशील प्रदान की जा चाहते हैं।
<ul class="nav" id="nav">
<li><a href="/">Home</a></li>
<li class="current"><a href="/about">About</a></li>
<li><a href="/">Contact</a></li>
</ul>
यह कैसे प्राप्त करने के लिए कोई भी विचार?
धन्यवाद। सिंटैक्स समेत यह वास्तव में सही है। बहुत सराहना की। मेरे पास अभी तक कोई मतदान शक्ति नहीं है, इसलिए मैं अभी जवाब स्वीकार कर दूंगा। – dinkco
'app.get()' 'इनपुट से स्वचालित रूप से' page_name' प्राप्त करने का कोई तरीका? – jeff
'req.path' शायद निकटतम चीज़ है। दस्तावेज़ों के लिए [यहां] (https://expressjs.com/en/api.html#req.path) देखें। पेज_नाम के करीब कुछ पाने के लिए आप पथ से स्लेश को आसानी से हटा सकते हैं। लेकिन नेस्टेड पथ नाम (जैसे '/ about/fred') ठीक से काम नहीं करेंगे। आप शायद एक सम्मेलन बनाने के लिए अंडरस्कोर में स्लेश बदल सकते हैं जहां req.path के अंडरस्कोर संस्करण (उदाहरण के लिए, 'req.path.replace (/ \ // g,' _ ') ') पृष्ठ नाम – thataustin