angularjs - ng-if Function Gets Called on Click -
i have code on plnkr:
http://plnkr.co/edit/6wz4zub2seofhrqps0c8
the html code quite simple:
<div ng-app="myapp" ng-controller="mainctrl"> <div ng-dropdown-multiselect="" options="mydata" selected-model="mymodel" extra-settings="mysettings" events="myevents"></div> <div ng-repeat="item in items"> <item-input></item-input> </div> </div> </div>
basically, problem function in ng-if gets called every time click anywhere on page. think has multi-select control i'm not sure should fix it. appreciated.
thanks.
updated
what don't understand why behavior stops when comment out multi-select dropdown (<div ng-dropdown-multiselect="" options="mydata" selected-model="mymodel" extra-settings="mysettings" events="myevents"></div>
)?
as shown in picture below, taken chrome devtools, multi-select dropdown generating 2 click event handlers :
one event on button , 1 on whole document. therefore, click on document triggering @ least last event handler, potentially changes model. angular digest cycle, , implies displayme
function bound ngif
directive evaluated in case element should removed of dom or not.
if remove dropdown component, , these 2 click handlers, left 3 text inputs. indeed, there no digest after click on document because no handler executed, can still trigger digests essentialy typing inside input elements.
this answer miško hevery has valuable info dirty-checking process in angular 1.x.
Comments
Post a Comment