В полимерном пользовательском элементе можно ли наблюдать изменения свойств элементов коллекции?
У меня есть пользовательский полимерный элемент, который содержит массив элементов, представляя их в виде таблицы. Я обнаружил, что при изменении свойства элемента в массиве отображение не обновляется.
Есть демонстрация проблемы ввторой из этих таблиц примеров .
Я подозреваю, что это может быть связано с использованием цикла repeat
для отображения каждого свойства вместо указания фактического имени свойства в шаблоне, поэтому путь к свойству разве к нему не прикреплен наблюдатель?
Я работаю над этим, строчируя и повторно анализируя элемент после изменения одного из его атрибутов, а затем соединяя его обратно в массив, но это явно неэффективно.
Существует ли способ гарантировать, что Polymer обновляет отображение при изменении свойства элемента в коллекции?
1 ответ:
Я полагаю, что вы правы, что только идентификаторы верхнего уровня наблюдаются для изменений, а не их свойства. Например, если у вас есть выражение:
{{ { article: article, field: field }}
Обнаруживаются только изменения в
article
иfield
- изменений в их свойствах, таких какarticle.id
, нет.В этом случае мне удалось заставить ваш пример работать, заменив выражение & filter на:
{{ article[field] }}
Доступ к массиву не задокументирован как поддерживаемый в выражениях, но это, по-видимому, надзор. Я открыл билет, чтобы обновить документы: