我正在尝试在pug模板中动态创建元素。
我使用基本命令
从数据库中检索信息 db.component.findAll().then(function(component){
res.render('stock' ,{ table:component})
})
应该创建内容的模板是
.tbl-content
table(cellpadding='0', cellspacing='0', border='0')
tbody
- row in table
tr
td= "#{row.name}"
td= "#{row.storage}"
我检查了语法,它应该是正确的,但结果是完全错误的。它需要row in table
作为字符串,例如内容并在页面上显示,与"#{row.name}"
和"#{row.storage}"
相同
我使用过时的语法还是我的方法完全错了?
谢谢!
答案 0 :(得分:2)
如果您使用Node.js的默认//Set timer switch
$setM_swith=0;
$(function(){
$(".navbar-nav li a").click(function(event) {
if (!$(this).parent().hasClass('dropdown'))
$(".navbar-collapse").collapse('hide');
});
$(".navbar-collapse").mouseleave(function(){
$setM_swith=1;
setTimeout(function(){
if($setM_swith==1) {
$(".navbar-collapse").collapse('hide');
$setM_swith=0;}
}, 3000);
});
$(".navbar-collapse").mouseover(function() {
$setM_swith=0;
});
});
模板引擎,那么您使用的语法似乎是错误的
你可以通过以下方式使其发挥作用:
pug
在文档中更详细地解释: https://pugjs.org/language/iteration.html
我完成的简单Node.js测试文件是我成功测试的:
.tbl-content
table(cellpadding='0', cellspacing='0', border='0')
tbody
each row in table
tr
td= row.name
td= row.storage
导致回复:
var express = require('express');
var app = express();
app.set('view engine', 'pug');
var component = [
{name:'myName', storage:'myStorage'},
{name:'myName2', storage:'myStorage2'}
];
app.get('/table', function (req, res) {
res.render('stock' ,{ table:component});
});
app.listen(3000);