Я пытаюсь поместить элементы в массив в Polymer. this.request
находится в шаблоне dom-repeat
и правильно отображается в DOM. Однако, когда я регистрирую this.request
, это показывает, что последняя запись переписала все предыдущие записи.
Например, если я нажимаю 1,2,3,4
как описание, dom-repeat
будет точным, но когда я регистрирую this.request
, он показывает 4,4,4,4
.
<ul id="products">
<template is="dom-repeat" items="[[request]]" restamp="true">
<li>
<p>[[item.description]]</p>
</li>
</template>
</ul>
...
request: {
type: Object,
value: []
},
productData: {
type:Object,
value: {}
}
...
addItemToList() {
this.push('request', this.productData);
}
Попытка обойти с помощью this.set
не приводит к обновлению DOM, а индексы массивов по-прежнему перезаписываются.
addItemToList() {
let i = 'request.' + this.request.length;
this.set(i, this.productData)
}
Кажется, проблема возникает из-за того, что объекты выдвигаются вместо строк, могут ли объекты передаваться как индексы массивов?
Какой метод можно использовать для синхронизации?