这是nav.jade文件
each link in data
h5.home-link: a(href="#{ url }")
这是我的data.json文件
{
"links": [
{ "url": "index.html", "pg-title": "Home" },
{ "url": "Wooden_Wall_Panelling.html", "pg-title": "Wooden Wall Panelling" },
{ "url": "Wooden_Partitioning.html", "pg-title": "Wooden Partitioning" },
{ "url": "Wardrobe_MDF_Shutters.html", "pg-title": "Wardrobe MDF Shutters" },
{ "url": "MDF_Ceiling_Patterns.html", "pg-title": "MDF Ceiling Patterns" },
{ "url": "Wooden_Grills.html", "pg-title": "Wooden Grills" }
]
}
错误(当Jade尝试编译文件时):
无法读取未定义的属性“长度”。
错误指向第一行,即数据中的每个链接。
我在这里做错了什么?
我正在使用Harp Server。
答案 0 :(得分:1)
首先,确保它是_data.json
文件,前面有下划线。然后,您的nav.jade
文件应如下所示:
each link in public._data.links
h5.home-link: a(href="#{ link.url }") #{ link["pg-title"] }
如果您将pg-title
文件中的title
更改为_data.json
,则还可以使语法更清晰:
each link in public._data.links
h5.home-link: a(href="#{ link.url }") #{ link.title }
如果需要,您也可以删除字符串插值:
each link in public._data.links
h5.home-link: a(href=link.url)= link.title
还有更多关于metadata in Harp here的信息。如果您正在调试并想要查看Harp中所有元数据的可用性,那么暂时显示整个公共_data
对象会很有帮助:
pre: code= JSON.stringify(public._data, 0, 2)