AMP
  • 網站

條件式狀態

簡介

此程式碼片段示範如何使用條件建立簡單的 amp-state

設定

我們使用 amp-bind 建立動態 amp-state

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

基本用法

charStateinput 元件中的 AMP.setState 區塊設定。我們透過使用 input-throttled 檢查使用者輸入的狀態是否已變更。如果輸入狀態已變更,我們會檢查目前輸入中的字元數 (event.value.length)。字元數會決定要設定的 charState。在 ? 問號與 : 冒號之間的項目符合陳述的條件。: 冒號之後的項目則適用於任何不符合陳述條件的情況。在同一個 AMP.setState 區塊中可以有多個條件。

當使用者在 input 區段中輸入少於 10 個字元時,他們會看到訊息「字元少於 10 個,請多輸入一些!」。

當使用者在 input 區段中輸入超過 10 個字元時,他們會看到訊息「您已輸入超過 10 個字元,現在可以停止了。」。

試著在文字方塊中輸入幾個字元。

<p [text]="charState">
  Try typing a few characters into the textbox.
</p>
<input type="textbox" on="input-throttled:AMP.setState({
        charState: event.value.length < 10 ?  
          'There are under 10 characters, type more!' : 
          'You have typed over 10 characters, you can stop now.'
        })">
需要進一步說明嗎?

如果本頁的說明未涵蓋您的所有問題,請隨時聯絡其他 AMP 使用者,討論您的確切使用案例。

前往 Stack Overflow
有未說明的特色功能嗎?

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

在 GitHub 上編輯範例