Привет, ребята, я все еще новичок в Node Express и все самое интересное в веб-разработке. Я пытаюсь сделать категорию активной (выделено), используя bootstrap. Вот 3 фрагмента кода.
Express или Node:
app.get("/menu/:name", function (req, res) {
var categoryValue;
var urlValue;
if (req.params.name == "preporuceno") {
categoryValue = 1;
} else if (req.params.name == "pizza") {
categoryValue = 2;
} else if (req.params.name == "tjestenina") {
categoryValue = 3;
} else if (req.params.name == "hamburger") {
categoryValue = 4;
} else if (req.params.name == "pica") {
categoryValue = 5;
}
Menu.find({
category: categoryValue
}, function (err, foundMeals) {
if (err) {
console.log(err);
} else {
console.log(foundMeals);
res.render("menu", {
menu: foundMeals
});
}
})
});
часть E JS:
<div class="col-md-3 m-0 p-0 border rounded" id="navcol">
<div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
<a class="nav-link <% if(menu.category == '1'){%> active <%}%> " id="v-pills-home-tab" data-toggle="pill" href="/menu/preporuceno" role="tab"
aria-controls="v-pills-home" aria-selected="true">Preporučeno</a>
<a class="nav-link <% if(menu.category == 2){%> active <%}%> " id="v-pills-home-tab" data-toggle="pill" href="/menu/pizza" role="tab"
aria-controls="v-pills-home" aria-selected="true">Pizze</a>
<a class="nav-link " id="v-pills-profile-tab" data-toggle="pill" href="/menu/tjestenina" role="tab"
aria-controls="v-pills-profile" aria-selected="false">Tjestenina</a>
<a class="nav-link" id="v-pills-messages-tab" data-toggle="pill" href="/menu/hamburger" role="tab"
aria-controls="v-pills-messages" aria-selected="false">Hamburgeri</a>
<a class="nav-link" id="v-pills-settings-tab" data-toggle="pill" href="/menu/pica" role="tab"
aria-controls="v-pills-settings" aria-selected="false">Pića</a>
</div>
<% menu.forEach(function(menu){ %>
<div class="col-lg-4 col-md-6 col-12 p-2 m-0 d-inline-block">
<div class="card" style="width: 22rem; ">
<img class="card-img-top img-fluid" src="<%= menu.pictureUrl %>" alt="Card image cap">
<div class="card-body">
<div style="height: 9rem;">
<h5 class="card-title"><%= menu.meal %></h5>
<div style="height: 4rem;">
<p class="card-text"><%= menu.description %></p>
</div>
<div style="height: 4rem;">
<p class="card-text"><strong><%=menu.price %>,00 Kn</strong></p>
</div>
</div>
Так что плохо объясню, что я успешно отображать блюда внутри forEach l oop, и когда я выбираю категорию блюд (см. выше), моя база данных находит блюда, указанные для этой категории. Теперь я пытаюсь сделать категорию активной, если пользователь находится в этой категории, и я не уверен, что делаю неправильно, поскольку считаю, что данные не передаются, если их нет в функции forEach.
В MongoDB это выглядит так:
_id: 5ea293edd21a134150f50338,
category: '1',
pictureUrl: 'https://recepttura.com/wp-content/uploads/2019/04/grah-s-kobasicom-pasulj-recept-thumbnail-recepttura.jpg',
meal: 'Grah varivo',
description: 'Grah varivo, kobasica, salata, kruh',
price: '30',
__v: 0
Заранее спасибо!