使用Jade在输入值内显示数据

Tre*_*zel 10 javascript node.js express pug

我是Jade的新手,我想将一些输出数据显示为value文本的值input.像这样:

input(type="text", name="date", value="THISRIGHTHURR")
Run Code Online (Sandbox Code Playgroud)

但只有价值需要viewpost.date.我尝试了多种方式,似乎没有一种方法可行:

input(type="text", name="date", value=viewpost.date) // doesn't work
input(type="text", name="date", value=.=viewpost.date) // doesn't work
input(type="text", name="date", value=".=viewpost.date") // doesn't work
Run Code Online (Sandbox Code Playgroud)

我当然可以input通过做类似的事情让它在外面工作

each post, i in viewpost
  h1.=post.date
Run Code Online (Sandbox Code Playgroud)

我是不是应该以input某种方式循环?这是输出我的viewpost变量的JS(使用Node和Express).

// render show post view
exports.viewpost = function(db) {
    return function(req, res) {
        var id = req.params.id;

        collection.find({ "_id": new BSON.ObjectID(id) }, function (err, data) {
            res.render("viewpost", {
                "viewpost" : data
            });
        });
    };
};
Run Code Online (Sandbox Code Playgroud)

小智 19

Pug 0.1.0(Jade 2.x)删除了对属性中插值的支持,因此现在可以使用:

input(type="text", name="date", value=viewpost.date)
Run Code Online (Sandbox Code Playgroud)

请参阅https://github.com/pugjs/pug/issues/2305


Mun*_*nim 14

您可以尝试将变量括#{}起来输出它:

input(type="text", name="date", value="#{viewpost.date}")

  • 对于帕格来说这已经过时了,请查看下面的asym的答案. (9认同)