angularjs - ngRepeat doesn't $compile directives correctly -



angularjs - ngRepeat doesn't $compile directives correctly -

i have array of items [expression, expression,....] , add/remove expression's array, ngrepeat doesn't $compile directive correctly.

what reason it?

one of solutions is, have separate array of expressions, , modify one, , every time changes reset "expressions" [] , set new array, when doing there blinking of ui elements (first digest [] , timeout(expressions = new array)).

class="snippet-code-js lang-js prettyprint-override">// main scope.list = [expressions.new(), expressions.new()]; //constructor expressions function expressions(){}; expression.prototype = { id: 'generated', list: [ expression.new(), expression.new(),... ] }; //constructor look function expression(){}; expression.prototype = { id: 'generated', val: '' }; class="snippet-code-html lang-html prettyprint-override"><!-- main usage --> <div ng-repeat="expressions in list track $index" dir-expressions x-attrs="expressions"></div> <!-- expressions directive --> <div class="expressions_content"> <ul ng-sortable="attrs.sortable"> <li ng-repeat="expression in attrs.items track $index"> <div dir-expression x-attrs="expression"></div> </li> </ul> </div> <!-- look directive --> <div>{{value}}</div>

it complex situation, set code snippets in example.

as sunil d pointed out, utilize track expression.id instead of $index.

angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -