ngOptions not Observing Changes in Backing Model #8651
Description
Plunkr for this here
This problem seems to have been introduced in the change from "1.2.21" to "1.2.22" and I guess it might have been as a result of this change;
do not update selected property of an option element on digest with no change
event (c286094, #8221, #7715)
In my application, I am using an HTML select with options like this;
<select
ng-model="selectedXyz"
ng-options="anXyz.title for anXyz in allXyzs">
</select>
The "title" property starts off being a string "..." then the actual value for each "title" property is set after a promise is resolved some time later. In this way, the "option"-s titles start off as "..." and then become human readable strings. This technique is used because the titles are localized for the user's language and the localization data may need to be obtained from a server; ultimately using an HTTP request. The user may also change their language settings from time to time and so the "title" property would be refreshed in the same way.
This approach worked well in 1.2.21 and prior, but in 1.2.22 it fails. The model is correctly updated, but unfortunately the user interface "option"-s do not update their titles. It would seem reasonable that changing the data model behind the "option"-s titles should be reflected in the user interface.