AngularJS: refresh ng-options when property source object changes
<p>Full description:
I have list of options with multiple properties (not just key-value pair):</p>

<pre><code>[
  {
    id: 1,
    name: "111",
    some: "qqq"
  },
  {
    id: 2,
    name: "222",
    some: "www"
  }
];
</code></pre>

<p>And select defined as:</p>

<pre><code>&lt;select name="mySelect" id="mySelect"
  ng-options="option.name for option in opts track by option.id"
  ng-model="mod1"&gt;&lt;/select&gt;
</code></pre>

<p>Depending on app logic, extra property may change:</p>

<pre><code>{
  id: 2,
  name: "222",
  some: "www1"
}
</code></pre>

<p>But actual list in Select doesn't change!
However, if name changes, then entire optionList will be refreshed.</p>

<p>In short you can see demo on <a href="https://jsfiddle.net/ydn52nx8/" rel="nofollow noreferrer">JSFiddle</a> OR <a href="https://jsfiddle.net/ydn52nx8/3/" rel="nofollow noreferrer">JSFiddle</a>. I prepared 2 very similar examples:</p>

<ol>
<li>When button is clicked only extra property updates</li>
<li>When button is clicked - both extra property and key receive new value</li>
</ol>

<p>Does anybody know solution?</p>

<h1>UPDATE</h1>

<p>For now I'm solving that issue with <code>update + delay + update</code> solution:</p>

<pre><code>this.click = function(){
  $scope.opts = {};
  $timeout(function() {
    $scope.opts = { /* NEW OBJECT */};
  }, 0);
}
</code></pre>