首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AMP for emails:如何在AMP for emails中处理复杂的条件逻辑?

AMP for emails:如何在AMP for emails中处理复杂的条件逻辑?
EN

Stack Overflow用户
提问于 2021-05-03 17:07:36
回答 1查看 101关注 0票数 1

我已经开发了一个代码,可以使用amp-list从后端服务器检索json数据。根据服务器中的一个变量,我希望有一个if条件。下面提到了我希望实现的一个示例:

代码语言:javascript
复制
<html ⚡4email data-css-strict>
<head>
  <meta charset="utf-8">
  <script async src="https://cdn.ampproject.org/v0.js"></script>
  <script async custom-template="amp-mustache" src="https://cdn.ampproject.org/v0/amp-mustache-0.2.js"></script>
  <script async custom-element="amp-list" src="https://cdn.ampproject.org/v0/amp-list-0.1.js"></script>
  <style amp4email-boilerplate>body{visibility:hidden}</style>
  <style amp-custom>
    h1 {
      margin: 1rem;
    }
  </style>
</head>
<body>
  <amp-list template="list-template" src="https://random_server_link/get_x_value_and_y_value" layout="responsive">
    <template id="list-template" type="amp-mustache">
    {% if {{x}} == {{y}} %}
      <p>
          x == y
      </p>  
    {% elif {{x}} != {{y}} %}
      <p>
        x not equal to y
      </p>
    {% else %}
      <p>
        else condition
      </p>
{% endif %}
  </template>
  </amp-list>
  <h1>Hello, I am an AMP EMAIL!</h1>
</body>
</html>

上面的代码不起作用,我需要一个if-else条件的替代方法。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-06-25 07:20:44

对于简单的if/else测试Mustache变量的真实性,您可以使用AMP documentationMustache documentation中提到的部分标记和反转部分标记。有关示例,请参阅How do I accomplish an if/else in mustache.js?

对于任何比简单的真实性测试更复杂的测试(例如,两个变量之间的相等性检查),您必须将该逻辑推送到服务器端。Mustache不具备比较值或表达两个变量之间的任何其他二元关系的能力。它被设计成一个无逻辑的模板。在服务器端执行计算,将其转换为简单的位,您可以使用客户端Mustache中的section标记和inverted section标记进行检查。

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

https://stackoverflow.com/questions/67366241

复制
相关文章

相似问题

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