Nel framework MVC, dove definiamo la modalità di visualizzazione dei dati?

2

Penso che il controller dovrebbe portare i dati da visualizzare dal modello. Tuttavia, è dovere del controllore dire come la visualizzazione dovrebbe visualizzare i dati, o la vista dovrebbe sapere come devono essere visualizzati i dati?

Per essere più specifico, sto scrivendo un sito Web, ci sono diversi database come modello di dati, il controller è scritto in Python e la vista è scritta in AngularJS.

Ora, dal lato della vista, dove dovrei codificare come vengono visualizzati i dati, sul lato JavaScript o sul lato Python? Per esempio. Gestisco un file JSON:

[{
  "key": "name",
  "column": "Name",
  "align": "left"
},{
  "key": "salary",
  "column": "Salary",
  "align": "right",
  "filter": "salaryFilter"
}]

Dovrebbe essere memorizzato in personInfo.js, o personInfo.js dovrebbe leggerlo dal controller tramite ajax?

    
posta xis19 07.11.2015 - 02:41
fonte

1 risposta

1

La tradizione di MVC è che la vista decide come visualizzare i dati.

Se stai scrivendo una vista con Angular in un browser, avrai bisogno dell'HTML per la tua vista. La vista sarà una combinazione di direttive HTML e angolari. Qualsiasi esercitazione angolare decente ti mostrerà questo rapidamente.

Angular si basa sull'idea che ci sarà anche un controller e un modello in javascript. Sarebbe normale avere il modello, la vista e il controller in javascript e HTML (per la vista) sul lato client.

È possibile avere un framework MVC lato server. Ci sono molti. Ma sembrerebbe strano avere una vista sul lato server se stai costruendo la tua interfaccia utente con Angular.

Potresti avere una vista sul lato server se supporti qualche altra forma di interfaccia utente, come risposta vocale, output PDF, realtà virtuale, terminale in modalità carattere, che non è costruito con angolare nel browser.

E avresti una vista laterale del server se hai lasciato Angolare e usato, diciamo JSP o PHP per produrre l'interfaccia utente.

    
risposta data 07.11.2015 - 08:44
fonte

Leggi altre domande sui tag