Как не обновить все AMP-списки при вызове setState ()? - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь настроить домашнюю страницу усилителя, используя 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 Ответ

0 голосов
/ 18 сентября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...