Json 在;对于文章,在公共场合使用slug.articles;“什么是”呢;鼻涕虫;?有没有办法使用嵌套数组?
我尝试使用HarpJS,一个NodeJS静态博客生成器。在教程中,元数据有这样的示例:Json 在;对于文章,在公共场合使用slug.articles;“什么是”呢;鼻涕虫;?有没有办法使用嵌套数组?,json,node.js,pug,harp,Json,Node.js,Pug,Harp,我尝试使用HarpJS,一个NodeJS静态博客生成器。在教程中,元数据有这样的示例: for article, slug in public.articles._data a(href="/articles/#{ slug }") h2= article.title 和\u data.json文件: { "hello-world": { <-- available everywhere as public.articles._data "title": "Hello Wo
for article, slug in public.articles._data
a(href="/articles/#{ slug }")
h2= article.title
和\u 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"
}
}
此代码在编译过程中出错。如果我评论最后一行,它仍然有效。我不能用文档中的代码片段替换最后一行:
each val, index in obj
h1=index + ': ' + val
没有嵌套和二维数组?要回答原始问题,请参阅我的评论: 文件缺乏。我不完全相信这会奏效。据此玉只支持每一个和而建设。在其他语言中,for..In循环中的第二个参数将是索引。这里可能是这样,但我找不到任何具体的文档 第二个问题是模拟对象的问题
看起来您需要检查以确保您的属性在mockdata中定义,或者执行一些检查以确保您期望的属性存在。以下示例可能回答了这个问题:
<h1><%= title %></h1>
<ul>
<% for (var slug in public.posts._data) { %>
<% var post = public.posts._data[slug] %>
<li>
<a href="posts/<%= slug %>">
<%= post.title %>
</a>
</li>
<% } %>
</ul>
-
你说得对,缺少的是。我不完全相信这会奏效。根据jade,只支持每个
和while
构造。在其他语言中,for..In循环中的第二个参数将是索引
。这里可能是这样,但我找不到任何具体的文档。谢谢@Brennan!这种方法具有可理解的逻辑。我编辑了这个问题,请你读一下好吗?提前谢谢。嘿@Georgy,如果翡翠中没有筑巢,我会很惊讶的。你能把你收到的错误发出去吗?我也不确定当hello brazil
对象中未定义s.test
时,模板将如何反应。@Brennan您猜问题在于hello brazil对象中未定义s.test。是的,如果定义好了,一切都很好。请你写下答案,这样我就可以把它标记为解决方案了?我感谢你的时间和关心,再次感谢你。很乐意帮忙!我很高兴我们解决了这个问题。
<h1><%= title %></h1>
<ul>
<% for (var slug in public.posts._data) { %>
<% var post = public.posts._data[slug] %>
<li>
<a href="posts/<%= slug %>">
<%= post.title %>
</a>
</li>
<% } %>
</ul>