Полимерный моноструктурный элемент не обновлен

У меня возникли проблемы с моностатом в Firefox 35 с использованием Polymer 0.5.2. Мой элемент выглядит так:

<polymer-element name="tracer-globals">
  <script>
    (function() {

      var store = document.createElement('tracer-store');

      Polymer({
        publish: {
          store: null
        },

        ready: function() {
          this.store = store;
        }
      });
    })();
  </script>
</polymer-element>

В Chrome в точке ready Я вижу различные атрибуты объекта store, но в Firefox атрибуты никогда не определяются (даже после завершения загрузки приложения).

Есть идеи почему?

Вещи, которые я пробовал:

  • обеспечивать tracer-store импортируется раньше tracer-globals,

1 ответ

Решение

Найден обходной путь:

Ленивая загрузка глобального объекта в created Перезвоните:

<polymer-element name="tracer-globals">
  <script>
    (function() {

      var store = null;

      var getStore = function() {
        if (store === null) {
          store = document.createElement('tracer-store');
        }
        return store;
      };

      Polymer({
        publish: {
          store: null
        },

        created: function() {
          this.store = getStore();
        }
      });
    })();
  </script>
</polymer-element>

Буду признателен за комментарии о том, почему это работает.

Другие вопросы по тегам