2015-10-20 11 views
5

)Po pierwsze chciałem tylko podziękować za ten wspaniały projekt.

Zintegrowaliśmy ui-grid jako część naszej tabeli-siatki, az niewiadomych przyczyn ilość zegarków generowanych przez ui-grid jest ogromna dla ilości danych, które próbujemy przetworzyć.

na przykład: grid - 9 kolumn tabeli z 20 rzędami prostych komórek opartych tekst bez jakiegokolwiek szablonu niestandardowego komórek

kontrolnych dolarów zegarki dostaniemy kwotę 960 zegarków.

próby debugowania ten problem mamy wydrukowany każdy element, który oglądać na nim i większość czasu mamy tego rodzaju elementów:

[div#1445359168448-19-uiGrid-001Z-cell.ui-grid-cell.ng-scope.ui-grid-coluiGrid-001Z, context: div#1445359168448-19-uiGrid-001Z-cell.ui-grid-cell.ng-scope.ui-grid-coluiGrid-001Z]0: div#1445359168448-19-uiGrid-001Z-cell.ui-grid-cell.ng-scope.ui-grid-coluiGrid-001Zcontext: div#1445359168448-19-uiGrid-001Z-cell.ui-grid-cell.ng-scope.ui-grid-coluiGrid-001Zlength: 1__proto__: n[0] 
watchers 4 

i każdy element komórka dostał 2-4 zegarków.

użyliśmy prostej struktury danych z podstawowymi elementami columnDefs (pole + nazwa wyświetlana).

W większości naszych przypadków nie musimy oglądać okazji w określonych komórkach siatki.

Czy jest coś, co możemy zrobić, aby zmniejszyć liczbę zegarków utworzonych przez ui-grid?

z góry dzięki, elad.

+0

Sprawdź ten dokument - https://github.com/angular-ui/ui-grid/blob/master/misc/tutorial/404_large_data_sets_and_performance.ngdoc. Istnieje opcja o nazwie "fastWatch" i ustawienie jej na true w twoim 'gridOptions' sprawi, że kątowy będzie obserwował tylko długość tablicy danych i odniesienia, a nie każdego konkretnego indeksu. – FrailWords

+0

10x. użyłem opcji fastWatch, ale nie było żadnej zmiany w licznikach $ zegarów :-( –

+0

Czy wypróbowałeś inną opcję wymienioną w 'flatEntityAccess'? – FrailWords

Odpowiedz

0

Jako konkluzja - za pomocą wiersza * obserwatorzy col $$ są wykorzystywani jako element zwiększenia wydajności w celu korzystania z wirtualizacji przewijania. jakikolwiek sposób na odrzucenie tego zachowania nie działał.

zdecydowaliśmy się użyć innego approachby użyciu smart table Jego lekka i kochamy jego pomysł nie do hermetyzacji/ukryć tworzenia układu/GRID tabeli, ale zamiast jego aset dyrektyw (wtyczki) pozwalają na skomponowanie Ci stołowego zachowania w sposób deklaratywny.

użycie metody deklaratywnej = użycie kanciastego ng-repeat i zobacz szablon tabeli bezpośrednio jest bardzo prosty i mniej łatwy do nadania programowi CSS w celu dodania stylu.

nadal nie możemy użyć go jako złożonej potrzeby infrastruktury sieciowej dla rozwiązania CRM - z tego powodu, że wciąż szuka rozwiązania - może Telerik UI Tabela

elad.

Powiązane problemy