Sto lavorando a un'app Polymer, che sta estraendo i dati da un'API RESTful e utilizzandoli per costruire l'interfaccia. Un'area specifica in cui sono bloccato concettualmente è l'implementazione del pattern di monostazione descritto allo http://www.polymer-project.org/docs/polymer/polymer.html#global. In effetti, posso aggiungere attributi dichiarativi in un nuovo componente, globalmente app, quindi accedere a questo in modo abbastanza semplice.Variabili globali del polimero
Ecco la domanda chiave: se sto prelevando (e, potenzialmente, inviando nuovamente) i dati avanti e indietro tramite core-ajax all'API all'interno del componente app-globals, come faccio a garantire che tutti gli utenti dell'app il componente globale ha gli stessi dati? Sembra come se avessi perso la mia monostatism se uso il modello suggerito:
<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>
perché ognuno dei componenti che consumano app-global saranno tirando la propria versione dei dati API. Mi sto perdendo qualcosa? C'è un altro modo per garantire che l'app abbia costantemente una sola versione della verità?
È possibile fornire un collegamento migliore alla parte specifica della documentazione relativa alla domanda? – Pointy
Sì - modifica per riflettere: http://www.polymer-project.org/docs/polymer/polymer.html#global –
Grazie. La documentazione è piuttosto sottile, ma sembra che la chiusura attorno allo script "app-globals" venga eseguita una volta sola, quando viene definito il componente "app-globals". Successivamente, le istanze separate possono fare tutto ciò che vogliono nel gestore "pronto". Il secondo esempio, con gli attributi, sembra strano perché ogni * uso * di '' potrebbe cambiare lo stato condiviso! –
Pointy