首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSON不替换变量

JSON不替换变量
EN

Stack Overflow用户
提问于 2017-07-29 23:38:58
回答 1查看 83关注 0票数 0

我在用Twig PatternLab。

我在JSON和一个Twig for循环中遇到了一个小问题。

Atom 00-h3-black.twig:

代码语言:javascript
运行
复制
<h3 class="A-ChevronBlack"><a href="">{{ text.chevron }}</a></h3>

分子00- Molecule tile.twig:

代码语言:javascript
运行
复制
    <div class="M-DMasterTile">
      <div class="image"></div>
      <div class="content">
        {% include "atoms-h3-black" %}
      </div>
    </div>

有机体00-default2.twig:

代码语言:javascript
运行
复制
    {% for post in default2 %}
          {% include "molecules-mastertile" %}
    {% endfor %}

和JSON在有机体文件夹00-default2.json中

代码语言:javascript
运行
复制
    {
      "default2" : [
        { 
          "text" : {
            "chevron" : "How to build a campfire",
            "body" : "This is the body copy"
          }
        },
        {
          "text" : {
            "chevron":"Lorem Ipsum",
            "body" : "This is the body copy"
          }
        }
      ]
    }

我的期望是让"default2“循环两次,因为我在JSON中有一个包含2个项目的数组,并推送JSON内容。如果我从JSON数组中取出变量,它会显示更改(但显然是重复的)。

我在这里做错了什么?

非常感谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-30 00:15:10

include使用全局作用域,并且其中没有变量text。使用include with语法将变量传递到内部作用域。

您的Organisms 00-default2.twig应该如下所示:

代码语言:javascript
运行
复制
{% for post in default2 %}
      {% include "molecules-mastertile" with {'text': post.text} %}
{% endfor %}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45391036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档