【发布时间】:2017-10-08 21:47:28
【问题描述】:
我有一个带有以下代码的 index.js:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index',{
"title":"Homepage",
"navIndex":"reg",
"navItems":[
{"title":"Home", "link":"/" },
{"title":"Register", "link":"/reg"}
]
});
});
module.exports = router;
我有 index.pug:
doctype html
html
head
title Welcome!
link(rel='stylesheet' href='css/materialize.min.css')
link(rel='stylesheet' href='css/style.css')
script(src='js/jquery-3.2.1.min.js')
script(src='js/materialize.min.js')
body
block content
nav
div(class='nav-wrapper')
a(href='#' class='brand-logo' class='right') Logo
ul(id='nav-mobile' class='left hide-on-med-and-down')
-
var navItems = #{navItems}
for(x = 0; x < navItems.length; x++)
li
a(href=navItems[x].link) navItems[x].title
由于某种原因,我不断收到“意外的块内容”错误。
我已尝试调整间距,但似乎无法正常工作。我查看了有关无缓冲代码的文档,但我只是不确定如何将 navItems 对象从 index.js 传递到 pug 文件的无缓冲代码部分。我假设您像我一样定义一个变量 ex .var navItems = #{navItems}。有没有这方面的具体文档?如果没有,我到底做错了什么?提前致谢。
编辑:
更新的 index.pug 如下。但它会逐字输出“navItems[x].title”,而不是变量的值。
doctype html
html
head
title Welcome!
link(rel='stylesheet' href='css/materialize.min.css')
link(rel='stylesheet' href='css/style.css')
script(src='js/jquery-3.2.1.min.js')
script(src='js/materialize.min.js')
body
nav
div(class='nav-wrapper')
a(href='#' class='brand-logo' class='right') Logo
ul(id='nav-mobile' class='left hide-on-small-only')
- for(x = 0; x < navItems.length; x++)
li
a(href=navItems[x].link) navItems[x].title
【问题讨论】:
-
我认为不需要这条线
var navItems = #{navItems}。您可以删除该行并查看它是否可以解决您的问题吗? -
这只是给我“意外的块内容”错误,我不明白为什么。
标签: javascript node.js pug