【问题标题】:How do I use a JSON variable as logic within a JADE template?如何在 JADE 模板中使用 JSON 变量作为逻辑?
【发布时间】:2012-12-27 05:39:23
【问题描述】:

太好了,我有这个 JADE 模板:

//views/user.jade

div
-if ( typeof(user) !== undefined ) {
    span <%= id %>
-else {
    span nothing to see here
-}

这是页面的呈现方式以及我在逻辑中传递“用户”变量的方式

//routes/user.js

exports.user = function(req, res){
    res.render('pages/user', {
        user: req.user
    });
};

'' 通过 .JSON 文件传入,并呈现与 'user' 变量无关的 ID 号。我想在我的逻辑中使用 '' 的值,如下所示:

-if ( ( typeof(user) !== undefined ) && ( user.id === <%= id %> ) ) {

这当然会导致页面中断,同时我希望成为一名体面的软件工程师。我在这里做错了什么?

感谢您的帮助!

【问题讨论】:

  • 我知道这里发生了什么。玉文件在到达backbone.js 时已经被处理(包括所有逻辑),通过 $('#content').html(new UserView({model: model}).el);变量 实际上对应的是model.id。
  • 我觉得我运气不好

标签: javascript json node.js backbone.js pug


【解决方案1】:

所以让我做一些猜测:

  • “通过 JSON 文件传递​​”是指以 JSON 格式在 HTTP 请求正文中发送。

如果这个猜测是正确的,你需要做一些事情:

  1. 确保您有 app.use(express.bodyParser());,它将解析 JSON 请求正文并使 req.body 可用
  2. 将值传递给模板

.

res.render('pages/user', {
    id: req.body.id,
    user: req.user
});

然后只需将id 引用为直接的本地 javascript 变量

-if ( ( typeof(user) !== undefined ) && ( user.id === id ) ) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多