Я работаю над приложением Polymer, которое извлекает данные из RESTful API и использует его для построения интерфейса. Конкретной областью, на которой я придерживаюсь концептуально, является реализация шаблона Monostate, описанного в http://www.polymer-project.org/docs/polymer/polymer.html#global. Фактически, я могу добавить декларативные атрибуты в новый компонент, приложения-глобалы, а затем получить доступ к этому достаточно просто.
Вот ключевой вопрос: если я вытягиваю (и, возможно, повторно отправляю) данные обратно и вперед через core-ajax в API в компоненте app-globals, как я могу обеспечить, чтобы все пользователи приложений-глобалов компонент имеют одни и те же данные? Похоже, что я потерял свой моностатический подход, если я использую предложенный шаблон:
<polymer-element name="my-component">
<template>
<app-globals id="globals"></app-globals>
<div id="firstname"></div>
<div id="lastname"></div>
</template>
<script>
Polymer('my-component', {
ready: function() { this.globals = this.$.globals; }
});
</script>
</polymer-element>
потому что каждый из компонентов, которые потребляют приложения-глобалы, будет извлекать собственную версию данных API. Я что-то упускаю? Есть ли другой способ убедиться, что приложение постоянно имеет только одну версию правды?