У меня есть 2 элемента, которые отображают массив на экране, используя <template is="dom repeat">
.Они разные, потому что один из них также использует фильтр в шаблоне.Когда я нажимаю кнопку, чтобы добавить другой объект в массив (который хранится локально с использованием <app-localstorage-document>
, оба элемента будут обновлены. Однако, если я добавлю другой объект в массив, обновится только тот элемент, где я вызываю функциюВот код того, как я пытаюсь достичь желаемого результата:
Элемент 1:
<app-localstorage-document key="tables" data="{{tables}}"></app-localstorage-document>
<paper-button raised on-click="addTableClickHandler" id="add">add table</paper-button>
<template is="dom-repeat" items="{{tables}}" as="table">
<paper-card><div>Table [[table.number]]: [[table.status]]</div></paper-card>
</template>
Элемент 2:
<app-localstorage-document key="tables" data="{{tables}}"></app-localstorage-document>
<template is="dom-repeat" items="{{tables}}" filter="isFree" as="table">
<paper-card><div>Table [[table.number]]</div></paper-card><br>
</template><br>
Оба элемента имеютпустые таблицы Array как свойство:
tables: {
type: Array,
value: []
}
Когда я обновляю страницу, оба элемента будут отображать правильные значения, но мне нужно, чтобы он обновился немедленно.
Оба элемента имеют одинаковые значенияродительский элемент, но я не делаю ничего более релевантного в родительском элементе.
Мне также нужно убедиться, что привязка данных не разрывается после первого нажатия кнопки «добавить таблицу» на бумаге.Или мне нужно найти способ, чтобы шаблон в Элементе 2 обновлялся / обновлялся при каждом вызове функции addTableClickHandler в Элементе 1. Я провел небольшое исследование, чтобы выяснить, как это сделать,но мне не удалось это исправить.Кто-нибудь есть идеи?
РЕДАКТИРОВАТЬ: я теперь добавил кнопку удаления в элементе 2, чтобы удалить объекты из массива, и всякий раз, когда я использую это, список в элементе 1 обновляется правильно.Только наоборот не работает.Поэтому, когда я добавляю объект, список в элементе 2 обновляется только один раз, а после этого не более.