0

这是 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 服务器。

4

1 回答 1

1

首先,确保它是一个_data.json文件,前面有一个下划线。然后,您的nav.jade文件应如下所示:

each link in public._data.links
  h5.home-link: a(href="#{ link.url }") #{ link["pg-title"] }

如果您在文件中更改您的to 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

这里还有更多关于Harp 元数据的信息。如果您正在调试并想查看所有元数据在 Harp 中的可用情况,您可以帮助临时显示整个公共_data对象:

pre: code= JSON.stringify(public._data, 0, 2)
于 2015-02-17T23:30:42.247 回答