стоит ли использовать миксины для оптимизации
пишу модуль для ангуляра, у меня есть массив, который должен фильтроватся, если брать стандартный подход ангуляра, то это при каждом дайджесте нужно проверять массив на изменения, но если массив большой то явно будет что то медленное.
1. аля ангуляр, вышел описал. 2. Я думаю использовать миксины и отслеживать изменения, тогда элементы буду фильроватся при изменение массива, стоит ли использовать такой подход или меня жду большие грабли? ( что то такое https://github.com/yyx990803/vue/blo...erver/array.js ) 3. Реализовать свой класс, который имеет основные методы типо push, splice, insert ( index, val ), change вызывается что бы проверить на изменения базовый массив и отфильровать элементы. Что скажиете по этому поводу, а то я топчусь на месте не хочу выстрелить в ногу ? поправьте кто-то название темы на "стоит ли использовать миксины для оптимизации" |
Цитата:
![]() |
l-liava-l,
Цитата:
|
Цитата:
|
Цитата:
UPD фильтруются только входные данные, весь массив проверять не надо каждый раз, само-собой, так как туда уже ничего лишнего не попадет по-определению. |
Цитата:
Цитата:
Если прям уж хоочется фильтровать по флагу то напиши фильтр-обертку над $filter и пусть он не массив сверят а флаг который ты ему скормишь |
Цитата:
|
Цитата:
|
Цитата:
var keys = Object.keys( this.filters ); this._viewList = []; this.sourceList.forEach( function ( item ) { if( keys.every( function ( i ) { return this.sourceList [ keys [ i ] ] (); }, this ) ) { this._viewList.push ( item ); } }, this ); |
l-liava-l,я
Цитата:
|
Цитата:
ng-repeat="item in ::array | filter:{id: 100}" Если много то делай ng-repeat="item in array track by $index" а сам массив фильтруй когда нужно сервисом $filter из контроллера. https://docs.angularjs.org/api/ng/filter/filter Так точно не скажешь, тут играться нужно, а я не совсем понимаю задачу |
Цитата:
Цитата:
Цитата:
1. у него есть модуль Цитата:
В следствии чего товарищ начинает заниматься акробатикой. Открою секрет, как писать супер-быстрые модули: самый быстрый модуль - не содержащий кода (пустой) :) |
Цитата:
Цитата:
|
Кстати я походу, выстрелил себе в ногу)
|
Ангуляр делают копию объекта и при каждом $digest сравнивает копию с текущим объектом, в любом случаю даже если объект не изменился?
И при каждом дайджесте он будет проходится всеми фильтрами по исходному массиву? Я прав? |
я смотрю фильтры в ангуляре это боль и лучше самом фильтровать и кормить ему результат
|
Часовой пояс GMT +3, время: 06:06. |