Я пытаюсь изменить цвет бумажной кнопки, которая создается динамически с помощью элемента <template is="dom-repeat">
.Допустим, у меня есть этот фрагмент кода:
<template is="dom-repeat" items="{{items}}" as="item">
Itemnumber: [[item.number]] is [[item.height]].
<paper-button on-click="setHigh">High</paper-button>
<paper-button on-click="setLow">Low</paper-button>
</template>
Теперь, когда я нажимаю, например, кнопку «Высокий», я хочу, чтобы цвет фона этой кнопки изменился, и я хочу, чтобы цвет фонаКнопка «Низкая» также поменяется.Элементы Array хранятся локально, и я смог сделать что-то похожее, используя этот код:
<template is="dom-repeat" items="{{items}}" as="item">
Itemnumber [[item.number]] is [[item.height]].
<template is="dom-if" if="[[isHigh(item)]]">
<paper-button on-click="setHigh" class="active">High</paper-button>
<paper-button on-click="setLow">Low</paper-button>
</template>
<template is="dom-if" if="[[!isHigh(item)]]">
<paper-button on-click="setHigh">High</paper-button>
<paper-button on-click="setLow" class="active">Low</paper-button>
</template>
</template>
Теперь каждый элемент, который возвращает isHigh (item) как true, будет частью активного класса (который яиспользовать для стилизации цвета фона), и false не будет частью этого класса.Это работает, когда я впервые загружаю страницу, однако, когда я нажимаю кнопки и изменяется массив Items, я должен сначала перезагрузить страницу, чтобы стили вступили в силу.Атрибут item.height обновляется немедленно.