javascript - Angular - 10 $digest() iterations reached. Aborting when creation deep copy of array -


i create table filters in table header. filter list of unique values in each column. here simplified code:

<table>   <tr>        <th class="dropdown" ng-repeat="field in data.columns">          <span>{{field.title}}</span>          <ul class="dropdown-menu">            <li ng-repeat="item in unique(data.items, field)"><checkbox> {{item.text}}</li>          </ul>        </th>    </tr>   <tr ng-repeat="item in data.items"></tr> </table> 

i use same object array filter , table filter create copy of array , remove copy values repeated. , here problem.

when copy array array.slice(0) deleted values not in filter in table (array contains objects). problem in references, used deepcopy jquery.extend(true, [], array) , angular throws error:

[$rootscope:infdig] 10 $digest() iterations reached. aborting! watchers fired in last 5 iterations

my data this:

[{id: 1, title: 'aaa', something: [{id: 1, text: "a"}]}, {id: 2, title: 'aaaa', something: [{id: 2, text: "aa"}]}] 

problem in property (array.slice(0) donť copy , $.extend copy angular error)

thanks advices

you haven't posted code filter must assume what's happening. think you're not checking if elements of list unique before making copy. causes filter change data every digest, triggering infinite number of digests - hence error. list never stable.

to solve @ beginning of filter add check uniqueness of elements , if unique (for example after first pass of filter) return input object. way model stabilize.


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -