Связывание данных полимера между 2 элементами разрывается после добавления 1 значения в массив при использовании localstorage - PullRequest
0 голосов
/ 19 июня 2019

У меня есть 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 обновляется только один раз, а после этого не более.

...