У меня есть ситуация, когда я получаю данные через веб-сокет, а производительность важна. Из документов я понимаю, что существуют различные способы «подталкивания» данных, которые я получаю к своим элементам Polymer, но мне любопытно, какой из них будет наиболее эффективным. Пока что я создал элемент, который может быть включен в шаблон, где родительский элемент будет наблюдать любые изменения свойства data
и соответственно реагировать. Я также экспериментировал с использованием Поведения, чтобы выполнить одно и то же, но вместо того, чтобы включать в его шаблон "data-element"
, он мог просто наблюдать за своим собственным свойством данных. Я понимаю, что я мог бы использовать что-то вроде iron-signals
для «push» данных через событие.Наиболее эффективный способ «подталкивания» данных к полимерным элементам
Я не уверен, что любой из этих методов очень эффективен, так как большую часть времени изменения объекта «данные» будут применяться только к небольшому подмножеству всех наблюдателей. Другим возможным решением было бы «наблюдать» динамический путь, так как data.pathx
вместо data.*
, что резко сократило бы количество обращений к наблюдателю от наблюдателя, но я не сталкивался с чем-либо, что заставило меня думать, что это возможно, так как каждый из моих элементов не будет знать, следует ли ему соблюдать pathx
или pathz
до создания.
Как я уже говорил, производительность имеет жизненно важное значение, и я чувствую, что есть слишком много неэффективности, если у меня есть малый и среднего размер dom-repeat
элементов каждого наблюдающий большой data
объекта другого элемента или индивидуально, держащая копию этих данных на их собственные (например, я предполагаю, что поведение выполнит?).
Я просмотрел iron-meta
, но мне не удалось успешно привязать данные к нему, и из того, что я могу сказать из документов, эти данные необходимо запросить, в то время как мне нужно получить уведомление о изменения.