Заметки по тегу: AMP

Показать все
6 декабря 2024
note
AMP

В контексте email-верстки стейты (состояния) используются для сохранения каких-либо данных по аналогии с переменными в программировании. Управление ими происходит через события и действия.

Важно отметить некоторые неочевидные особенности:

➖Начальное состояние, заданное через , не будет применено при загрузке письма, а подставится только после действия пользователя (setState);

➖Mail.ru игнорирует любое задание начальных значений. То есть в данном случае myItem.el в span отобразит null после клика на кнопку:

<amp-state id="myItem">
  <script type="application/json">
  <script type="application/json">
    {
        "el":"some value"
    }
  </script>
</amp-state>
<span [text]="myItem.el"></span>
<button on="tap:AMP.setState({})">Кнопка</button>

При этом Gmail ее обработает корректно и мы увидим текст «some value»‎.

Какими могут быть варианты обхода этих моментов?

➖Всегда задавайте значение по-умолчанию, которое отобразится и без изменения стейта. Продолжая наш пример:

<span [text]="myItem.el">some value</span>

➖Вместо прямого использования используйте setState для привязки значений и их динамического обновления:

<button on="tap:AMP.setState({ myItem: { el: 'some value' } })"> 
    Кнопка 
</button> 
<div [text]="myItem.el"></div>
Поделиться:
Повышайте эффективность вместе с нами
Мы отправили вам письмо-подтверждение