este es el codigo
<% if( !title || title!=="login"){ %> <div class="dashboard-main-cont"> <div class="navigation-option"> <a class="btn btn-primary navbtn" href="/admin/bookings">Booking Requests</a> <a class="btn btn-primary navbtn" href="/admin/showprojects">Manage Projects</a> <a class="btn btn-primary navbtn" href="#">Calculation Requests</a> <a class="btn btn-primary navbtn" href="#">Manage Blogs</a> <form action="/admin/logout" method="POST"> <button class="btn btn-danger">Logout</button> </form> </div> <% } %>No estoy pasando un valor de título, pero he puesto "!" delante de "título", pero sigo recibiendo este error:
title is not defined¿Cómo resolver este problema? ¡¡Gracias por adelantado!!
Probablemente debería definir el título primero usando palabras clave como let o const. Este error viene porque no lo has definido.
Entonces, creo que el "título" debe al menos declararse para que pueda funcionar con el "!".
Puede renderizar el archivo pasando title: undefined en la información de renderizado. De esa manera, la variable se define como "indefinida", pero al menos está definida.
En el fragmento a continuación, al definir la variable, la explosión puede usarla para detectar si es un valor "positivo", en cuanto al segundo "si", arroja un error.
const declared_title = undefined console.log("foo") if( !declared_title || declared_title !== "login") { console.log("bar") } console.log("fizz") if( !undeclared_title || undeclared_title !== "login") { console.log("buzz") }En cuanto a la llamada de procesamiento, debería verse así
res.render('your_page',{ title: undefined });