Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 在;对于文章,在公共场合使用slug.articles;“什么是”呢;鼻涕虫;?有没有办法使用嵌套数组?_Json_Node.js_Pug_Harp - Fatal编程技术网

Json 在;对于文章,在公共场合使用slug.articles;“什么是”呢;鼻涕虫;?有没有办法使用嵌套数组?

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

我尝试使用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 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>