Mi chiedevo se qualcuno ha trovato un buon modo per legare il modello tra Play Framework e AngularJS. Ad esempio, si colpisce un URL e la pagina viene generata da Play Framework utilizzando i modelli sul lato server per un determinato oggetto Person. Ora si desidera utilizzare AngularJS per abilitare la ricca esperienza utente e utilizzare tale oggetto Person all'interno dei modelli JavaScript/AngularJS sul lato client.AngularJS e Play Framework modello di associazione e modelli
Un modo per farlo sarebbe quello di effettuare un'altra chiamata Ajax da AngulraJS e popolare il modello JS. Questo sembra ridondante con la prima chiamata per generare la pagina per quell'oggetto Person.
Un altro modo sarebbe quello di fare qualcosa di simile:
person = @Html(FrontEnd.personToJSON(thisPersonObject));
Ma allora avete bisogno di impostare l'oggetto persona all'interno del $scope
. Inoltre questo sembra un hack dato che l'intero oggetto è in formato JSON, verrà inserito nella pagina html.
So che esistono modi migliori per progettare questa applicazione Web, ad esempio utilizzando SPA design in cui Play è solo un livello di servizio con un'API pulita per il recupero e la manipolazione dei dati. Questo ti permetterà di fare MVC rigorosamente sul lato client.
Qualche idea?
E riguardo le considerazioni SEO quando si tratta di applicazioni a pagina singola? – Dimitry
Il meglio sarebbe creare un sito web promozionale per la tua app/prodotto invece di provare a rendere l'app SEO friendly. Ad esempio, basecamp.com è il sito web promozionale e [yourname] .basecamp.com è l'applicazione. –