Sono davvero nuovo per il pattern MVC in Ext. Ho un tabpanel con più istanze dello stesso componente (chiamiamolo prodotto), ognuno dovrebbe chiamare il server quando è aperto, con un parametro id.ExtJS4 - Memorizza per istanza del pannello?
In questo momento, al fine di creare queste schede - Io uso questo nel controller del prodotto che crea una nuova istanza di una vista, ma mi sento come se fosse davvero errato.
createMainView: function (opts) {
return Ext.widget("productDisplay", opts);
}
mi chiamano dal mio controllo "principale", in questo modo:
var tab = this.application.getController("Products")
.createMainView({ productId : id, closable: true })
tabs.add(tab);
tabs.setActiveTab(tab);
Qual è il modo corretto di utilizzare correttamente più istanze di una vista, ciascuno con un'istanza di un negozio e di comportamento (tramite il controller).
Posso utilizzare un negozio denominato per loro (con un file js in app/store/product.js)?
Devo chiamare manualmente lo load
sullo store dal controller (per passare lo productId
) o c'è un modo migliore?
grazie per le vostre risposte. Ho già visto alcuni esempi di filtraggio dei negozi, ma quello era il momento in cui c'è una vista che viene alimentata con i dati filtrati, nel mio caso ci sono più schede che esistono contemporaneamente, ognuna con dati diversi (dello stesso tipo, ecco perché Ho chiesto di duplicare il negozio), non sono modali (se intendi come modale come prompt), esistono allo stesso tempo. – Madd0g
Quindi hai bisogno di un negozio (array in pratica) in ogni vista o solo modello (record)? – sha
Non sapevo che il record potesse essere usato al di fuori di un negozio - immagino sia per questo che un modello possa avere un proxy. Un singolo record può avere funzionalità di caricamento/salvataggio/associazione? – Madd0g