Jestem naprawdę nowy na wzór MVC w Ext. Mam tabpanel z wieloma wystąpieniami tego samego komponentu (nazwijmy to produktem), każdy powinien wywołać serwer, gdy jest otwarty, z parametrem id.ExtJS4 - Przechowywać na instancji panelu?
Teraz, w celu stworzenia tych kart - używam tego w kontrolerze Produktu który tworzy nową instancję widoku, ale czuję, że to naprawdę nieprawidłowe.
createMainView: function (opts) {
return Ext.widget("productDisplay", opts);
}
nazywam go z moim „głównym” kontrolera, tak:
var tab = this.application.getController("Products")
.createMainView({ productId : id, closable: true })
tabs.add(tab);
tabs.setActiveTab(tab);
Co znajduje się w poprawny sposób prawidłowo korzystać z wielu wystąpień widzenia, każda o wystąpienie jednego sklepu i zachowania (przez kontroler).
Czy mogę dla nich użyć jednego nazwanego sklepu (z plikiem js w aplikacji/store/product.js)?
Czy mogę ręcznie wywołać load
w sklepie ze sterownika (aby przekazać productId
), czy jest tam ładniejszy sposób?
dziękuję za odpowiedzi. Widziałem już wcześniej przykłady filtrowania magazynu, ale to było wtedy, gdy jest jeden widok, który jest zasilany filtrowanymi danymi, w moim przypadku istnieje wiele kart, które istnieją w tym samym czasie, z których każdy wyświetla różne dane (tego samego typu, dlatego Pytałem o duplikowanie sklepu), nie są one modalne (jeśli masz na myśli modal jak prompt), istnieją one w tym samym czasie. – Madd0g
Czy potrzebujesz sklepu (w zasadzie w zasadzie) w każdym widoku lub tylko modelu (rekord)? – sha
Nie wiedziałem, że ten rekord może być używany poza sklepem - tak myślę, że dlatego model może mieć proxy. Czy pojedynczy rekord może mieć funkcję ładowania/zapisywania/wiązania? – Madd0g