2016-03-06 16 views
7

Ho letto la documentazione Ember per la v2.4, e mi sono imbattuto in una parte che non capisco:Ember Docs - Readonly annidata dati

Alcuni modelli possono avere proprietà che sono oggetti profondamente nidificate di dati readonly. La soluzione ingenua sarebbe quella di definire modelli per ogni oggetto nidificato e utilizzare hasMany e appartiene per ricreare la relazione nidificata. Tuttavia, dal momento che i dati di sola lettura non avranno mai bisogno di essere aggiornati e salvati, ciò comporta spesso la creazione di una grande quantità di codice con pochissimi benefici. Un approccio alternativo consiste nel definire queste relazioni utilizzando un attributo senza trasformazione (DS.attr()). Ciò semplifica l'accesso a valori di sola lettura in proprietà e modelli calcolati senza il sovraccarico di definire modelli estranei.

Nel mio caso d'uso, mi metterà in mostra solo i dati, non potrà mai essere salvato al server. Ogni esempio che ho trovato per i dati nidificati mostra la creazione di modelli separati per ogni livello di nidificazione, quindi l'impostazione delle relazioni, denominata "soluzione ingenua". Quindi quale sarebbe il modo corretto di fare questo? Qualcuno può espanderlo per me? Grazie in anticipo!

+0

Da dove viene questo i dati da da? Se non è persistente sul server, non è un 'DS.attr()', è solo un normale hash. – locks

+1

Questo mi ha chiarito le cose: http://thejsguy.com/2016/01/29/working-with-nested-data-in-ember-data-models.html –

+1

@AlexAloia Potresti considerare di pubblicare i tuoi risultati come rispondi alla tua domanda, perché ne tragga beneficio altri, se si imbattono nella stessa situazione. La tua domanda è stata votata per 7 volte, a partire dal mio commento. Vedi qui per [Come scrivere una buona risposta] (http://stackoverflow.com/help/how-to-answer). – jacefarm

risposta

0

Guardando i commenti, la risposta sarebbe:

definire l'oggetto root e definire i campi di tale oggetto come DS.attr(). Senza informazioni sul tipo.

Sarà ancora possibile accedere ai dati nidificati utilizzando la notazione a punti, ma non sarà necessario specificare altri elementi della struttura.

Dai un'occhiata al seguente link per uno sguardo più completo a questo argomento.

https://thejsguy.com/2016/01/29/working-with-nested-data-in-ember-data-models.html