2

我有一个大致如下所示的 json 对象:

data = \
{
   'id' : 10000 ,
   'title' : 'Sample Article',
   'authors' : [
       {
          'id' : 20000,
          'name' : 'John Doe'
       },
       {
          'id' : 20001,
          'name' : 'Jane Doe'
       }
   ]
}

在循环 data.authors 时,我需要同时访问根 id ( data.id) 和本地 id ( data.authors[author].id)

Mustache 可以做到这一点吗?

我目前的解决方法是将 data.id 复制到 data.article_id 中,因为在规范和实践中似乎可以访问更高级别的变量。我找不到任何关于变量命名条件的东西。

4

1 回答 1

2

如果您将文章作为命名空间对象传递,您可以:

data = {
  article: {
    id: 10000,
    title: 'Sample Article',
    authors: [
      { id: 20000, name: 'John Doe' },
      { id: 20001, name: 'Jane Doe' }
    ]
  }
}

然后你可以做这样的事情:

{{# article.authors }}
  Article ID: {{ article.id }}
  Author ID:  {{ id }}
{{/ article.authors }}

如果您想将“文章”保留为呈现上下文,请将整个模板包装在一个{{# article }}部分中,您将能够将作者称为{{# authors }},同时仍然可以{{ article.id }}在需要时访问它。

于 2012-10-04T06:07:25.467 回答