Подтвердить что ты не робот

Как разрешить "Атрибуты имени элемента были связаны данными перед обновлением элемента Polymer?

Поскольку последняя версия Polymer (0.2.4), я получаю следующее предупреждение для группы элементов:

Атрибуты в нашем списке запросов были связаны с данными перед обновлением элемента Polymer. Это может привести к неправильным типам привязки.

Как разрешить это предупреждение? Я нашел следующую проблему в Github:

https://github.com/Polymer/polymer-dev/issues/20

Где они говорят:

Привязки к элементу перед его обновлением могут оказаться привязки атрибутов, в которых ожидалось привязка свойств.

Как правило, это происходит, когда пользователь загружает определения элементов испорченный.

Но что это значит? Для меня предупреждение происходит для элементов, которые вообще не имеют привязок или атрибутов.

Возможно, кто-то может объяснить мне, что означают эти слова, поэтому я могу более конкретно рассказать о своем вопросе. Мне кажется, что предупреждения случаются случайным образом, единственное, что я могу сказать о них, это то, что они происходят только на пользовательских элементах, которые вложены в другие настраиваемые элементы, но я не думаю, что это происходит для всех моих вложенных пользовательских элементов.

4b9b3361

Ответ 1

Когда я сталкивался с этим в прошлом, это означало, что я определял свои полимерные элементы в неправильном порядке. Поэтому, если вы определяете два элемента my-elem1 и my-elem2 в одном документе, а my-elem2 зависит от my-elem1, тогда определение my-elem1 должно быть первым, или вы можете видеть ошибки, такие как данные, которые не распространяются, как ожидалось.

Ответ 2

Вы также можете избежать предупреждения, добавив элемент в обратный вызов Polymer.import, используя следующий код (вместо innerHTML =):

Polymer({
     ready: function() {
         Polymer.import(["urlToImport"],
                        this.elementImportComplete.bind(this));
     },
     elementImportComplete: function() {
         // Do it this way to avoid polymer data binding warnings (and not 
         // by using innerHTML)
         var el = document.createElement(this.feedTypes[this.type]);
         this.$.container.appendChild(el);
     }
 });