首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我应该如何将变量从app.js传递给我的HTML文件?

我应该如何将变量从app.js传递给我的HTML文件?
EN

Stack Overflow用户
提问于 2018-06-15 04:56:25
回答 1查看 36关注 0票数 0

我目前正在完成我的服务器的身份验证端,需要一些帮助。我正在尝试禁用和启用特定的选项卡,这取决于用户是否通过身份验证。因为我正在跟踪一个video (part 8),所以作者在HTML文件中使用if条件( {{# if }} {{/if}} )来检查app.js文件中的某个变量是否为真。我试过了,但没有成功。是否需要在HTML文件的顶部传递?或者有没有更好的方法呢?

app.js:

app.use(function(req, res, next) {
    res.locals.isAuthenticated = req.isAuthenticated(); //variable in question
    next();
});

HTML:

<ul class="nav navbar-nav navbar-right">
        {{#if isAuthenticated}} //check if this variable is true or not and if so, show the following elements
        <li class="nav-item" class="navbar-right">
          <a class="nav-link" href="/Profile">Profile</a>
        </li>
        <li class="nav-item" class="navbar-right">
          <a class="nav-link" href="/Logout">Logout</a>
        </li>
        {{else}}
        <li class="nav-item" class="navbar-right">
          <a class="nav-link" href="Register.html">Register</a>
        </li>
        <li class="nav-item" class="navbar-right">
          <a class="nav-link" href="Login.html">Login</a>
        </li>
        {{/if}}
      </ul>

提前感谢!

编辑1:更好的解释

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-15 05:04:17

最好的选择是使用视图引擎(例如EJS),然后使用给定的变量呈现视图。

app.set('view engine', 'ejs')

^设置视图引擎(首先是npm install ejs)

app.set('views', './views')

^允许您设置视图目录

然后创建视图目录,例如index.ejs文件:

<h1> <%= title %> </h1>

接下来,写下你的路线:

app.get('/', (req, res) => {
    res.render('index', { title: 'Sample title' }) // refers to views/index.ejs
})

在render方法中,您可以传递一个带参数的对象(第二个参数),您可以在视图中使用这些参数。更多信息:http://www.embeddedjs.com/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50865813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档