具有“更改单位”功能的AMP页面,用于天气网站

时间:2018-10-31 10:49:56

标签: amp-html

我正在寻找一个利基天气网站的AMP版本。与天气有关,存在单位问题-C / F,MPH / KMH等。

这不是问题,除非我也有特定于单元的图像和图表。在HTML版本上,我可以轻松地使用一些JS来交换单位,但是,除了链接到另一页面之外,在AMP页面上看不到做到这一点的方法。

那么,是否有AMP方式可以做到这一点?或者我只是在寻找一个更换单元链接?谢谢

1 个答案:

答案 0 :(得分:1)

您可能需要结合使用amp-bindamp-listamp-list组件将使您能够从JSON端点获取内容,我认为这是您的天气数据来源。然后,您可以根据用户选择的度量单位,使用amp-bind切换页面上图表的可见状态。您可以在AMP website上找到更多深入的示例,但这是一个简短的示例,当您单击两个按钮系列时,可以在div上切换样式。

头:

<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>

<amp-state id="unitMeasurement">
  <script type="application/json">
    {
      "selected": "f",
      "f": {
        "style": "showF",
      },
      "c": {
        "style": "showC",
      }
    }
  </script>
</amp-state>

身体

<button class="btn"
  on="tap:AMP.setState({unitMeasurement: {selected: 'f'}})">
  Switch F
</button>

<button class="btn"
  on="tap:AMP.setState({unitMeasurement: {selected: 'c'}})">
  Switch C
</button>

<p [class]="unitMeasurement[unitMeasurement.selected].style"
  class="measurement">Units.</p>