首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何多次使用包含相同文件的小枝获取随机值

如何多次使用包含相同文件的小枝获取随机值
EN

Stack Overflow用户
提问于 2018-05-22 15:49:07
回答 1查看 712关注 0票数 2

我正在试图弄清楚,如何用不同的随机值多次包含一个模板。

我确实有一个模板:

代码语言:javascript
复制
<div class="include-1">
  {% include 'include.twig' %}
</div>
<div class="include-2">
  {% include 'include.twig' %}
</div>
<div class="include-3">
  {% include 'include.twig' %}
</div>

在include.twig中,我有:

代码语言:javascript
复制
<span>
  {{ random(10) }}
</span>

预期结果( span中的数字应为0-10范围内的随机数):

代码语言:javascript
复制
<div class="include-1">
  <span>1</span>
</div>
<div class="include-2">
  <span>2</span>
</div>
<div class="include-3">
  <span>3</span>
</div>

实际结果(第一个包含获取随机值,但随后只是“缓存”):

代码语言:javascript
复制
<div class="include-1">
  <span>1</span>
</div>
<div class="include-2">
  <span>1</span>
</div>
<div class="include-3">
  <span>1</span>
</div>

我已经测试了include,embed等,但都没有用。我正在寻找一种基于树枝的解决方案。无法访问PHP。作为一种退路,我可以用JS来做这件事,但如果这样的事情可以用Twig来做,我很感兴趣。

问题:

有没有办法强制Twig在每次包含之前重新呈现include?

EN

回答 1

Stack Overflow用户

发布于 2018-05-24 13:17:59

尝试将随机数函数作为值传递给每个include语句,例如:

代码语言:javascript
复制
<div class="include-1">
    {% include 'include.twig' with {'random': random(10) } %}
</div>

然后,在您的include.twig文件中:

代码语言:javascript
复制
<span>{{ random }}</span>

这将为您所做的每个包含生成随机数,并且应该会给出您想要的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50462431

复制
相关文章

相似问题

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