Как не обновить все 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 здесь.