Как не обновить все AMP-списки при вызове setSate()?

Я пытаюсь настроить домашнюю страницу усилителя, используя amp-bind,

У меня есть это состояние JSON в верхней части страницы:

<amp-state id="myState" [src]="'/api/activity/all?country=' + selected">
  <script type="application/json">...

И у меня есть эти два AMP-списка:

    <amp-list width="auto"
      height="192"
      layout="fixed-height"
      src="/api/activity/all"
      [src]="myState.categories"
      class="m1"
      id="categories"
      items="data.0.categories">

      <template type="amp-mustache">
         <amp-img  width="197" height="185" src="@{{icon}}"></amp-img>
      </template>
    </amp-list>

И этот список:

      <amp-list width="auto"
        height="100"
        layout="fixed-height"
        src="/api/activity/all"
        [src]="myState.data"
        class="m1"
        id="activities"
        items="data">

Все идет нормально. Однако я добавил кнопку "Поделиться", которая показывает раскрывающееся меню при нажатии. Итак, я настроил переключатель, как это:

<amp-img on="tap:AMP.pushState({visible: !visible})" id="share-icon" alt="TO DO" width="50" height="50" src="design/share.png"></amp-img>

Моя проблема в том, что когда я нажимаю кнопку "Поделиться", она работает, но обновляет два списка, вызывая мерцание.

1 ответ

Мерцание является результатом списков усилителей, оценивающих их привязку (даже если AMP.pushState(...) вызов не влияет на их привязки). Пожалуйста, отправьте отчет об ошибке для AMP Runtime здесь.

Другие вопросы по тегам