我尝试了 HarpJS,一个 NodeJS 静态博客生成器。在教程中有这样的元数据示例:
for article, slug in public.articles._data
a(href="/articles/#{ slug }")
h2= article.title
和_data.json
文件:
{
"hello-world": { <-- available everywhere as public.articles._data
"title": "Hello World.",
"date": "2013-02-28"
},
"hello-brazil": {
"title": "Hello Brazil.",
"date": "2013-03-04"
}
}
如果我理解正确for article
需要每个高级对象,我们可以得到标题article.title
或日期article.date
。但什么是slug
?它是 Jade/HarpJs 中的预定义变量吗?如果是这样,还有其他人,还是我的概念有误?我找不到有关此主题的任何信息,如果有好文章可以阅读,我将不胜感激。谢谢你。
正如@Brennan 在评论中建议的那样,第二个参数可能是一个索引。变量的简单替换和重命名article
并slug
证明了这一点。但是还有一个问题。请考虑这个例子:
{
"hello-world": {
"title": "Hello World.",
"date": "2013-02-28",
"test": {
"testContent": "123"
}
},
"hello-brazil": {
"title": "Hello Brazil.",
"date": "2013-03-04"
}
}
for s, a in public.articles._data
a(href="/articles/#{ a }")
h2= s.title
h3= s.date
h3= a
- var obj = s.test
h3= obj
h3= obj.testContent
此代码在编译期间给出错误。如果我评论最后一行,它虽然有效。而且我不能用文档中的片段替换最后一行:
each val, index in obj
h1=index + ': ' + val
有没有嵌套和二维数组?