AMP

重要事項:本文件不適用於您目前選取的格式 電子郵件

amp-action-macro

實驗性功能

說明

建立可重複使用的動作。

 

必要指令碼

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

amp-action-macro 元件允許建立可重複使用的動作。

用法

amp-action-macro 建立您可以視需要重複使用的 AMP 動作巨集。每個動作巨集都需要一個 id 和要 execute 的動作。您可以透過動作巨集的 id 呼叫它,並傳遞引數來變更其行為。

範例

<amp-action-macro
  id="closeNavigations"
  execute="AMP.setState({nav1: 'close', nav2: 'close})"
></amp-action-macro>
<button on="tap:closeNavigations.execute()">Close all</button>
<div on="tap:closeNavigations.execute()">Close all</div>
<!--
  You can provide arguments in the macro.
-->
<amp-carousel id="carousel" ...>...</amp-carousel>

<amp-action-macro
  id="carousel-macro"
  execute="carousel.goToSlide(index=foo), carousel.goToSlide(index=bar)"
  arguments="foo, bar"
></amp-action-macro>
<button on="tap:carousel-macro.execute(foo=1, bar=2)">
  Go to slide 1 then 2
</button>

屬性

id

用於唯一識別動作。此 id 會在動作調用中被參照。

execute

要調用的動作。此處允許任何有效的 amp 動作

<amp-action-macro
  id="navigate-action"
  execute="AMP.navigateTo(url='http://www.ampproject.org')"
></amp-action-macro>

<amp-action-macro
  id="refresh-amp-list"
  execute="ampList.refresh()"
></amp-action-macro>
<amp-list id="ampList" src="...">...</amp-list>

<button on="tap:navigate-action.execute()"></button>

<button on="tap:refresh-amp-list.execute()"></button>

arguments

用於定義可在呼叫的調用中使用,並在 amp 動作巨集呼叫中替換的引數。

需要更多協助嗎?

您已經讀過這份文件好幾次,但它仍然沒有真正涵蓋您的所有問題嗎?或許其他人也有同感:在 Stack Overflow 上與他們交流。

前往 Stack Overflow
發現錯誤或缺少功能?

AMP 專案大力鼓勵您的參與和貢獻!我們希望您能成為我們開放原始碼社群的長期參與者,但我們也歡迎針對您特別熱衷的問題提供一次性的貢獻。

前往 GitHub