Changing ng-options datasource is firing the ng-change automatically #16586
Comments
It seems that whenever one of the values watched by @Narretz probably knows more. |
The behavior is intentional: #7736 I can see how this can be confusing / unwanted, but it's an either-or situation and we've "fixed" this behavior, so we cannot go back. Why exactly is it a problem for your app that the model us updated @amiteshhh ? |
@Narretz In our app we have a drop-down to select country. Based on country selection we display different information for that country. The information contains data for month drop-down(driven by country). By default we are initializing default month to show the default view. Additionally on change of month we fetch data for selected month. |
Following as this is also an issue for our team at present |
It's my understanding that the purpose of ng-change is to know when the user changes the value. It's not supposed to fire simply when the model is changed programmatically. I agree that the ng-model value should be updated in this particular case (as fixed in #7736), but I don't think the ng-change should be fired. If this is an accurate understanding of the purpose of ng-change. could we get a fix for this? |
@aaronpikkarainen AngularJS is in LTS mode, so we are only going to fix security bugs. |
I'm submitting a ...
Current behavior:
Changing
ng-options
underlying datasource is triggering theng-change
handler when underlyingng-model
was changed programmatically previously.Expected / new behavior:
It should not trigger
ng-change
handler.Minimal reproduction of the problem with instructions:
dd1 and dd2 are two independent dropdowns having different ng-options data source containing array of objects.
Step 1: Set ng-model for dd2 programmatically by clicking the button. This is not firing the ng-change handler of dd2 which is correct. Step 2: Now change the dd1. Inside dd1 change handler assign new array data source to dd2 ng-options. This is automatically triggering the ng-change of dd2.Demo link: https://plnkr.co/edit/mI44WPHmlPf5B6Sdpbxr?p=preview
AngularJS version: 1.6.9
Browser: [all | Chrome 66 | Edge 40 | IE 11 ]
The text was updated successfully, but these errors were encountered: