Select2 AngularJS更改状态时所选项目丢失

Select2 AngularJS更改状态时所选项目丢失,angularjs,select,Angularjs,Select,我的AngularJS组件Select2有问题,我创建了一个指令: app.directive('autocomplete', function() { return { restrict : 'A', link : function( scope, element, attrs, ngModelCtrl) { $(function() { element.select2({ formatNoMat

我的AngularJS组件Select2有问题,我创建了一个指令:

 app.directive('autocomplete', function() {
  return {
    restrict : 'A',
    link : function( scope, element, attrs, ngModelCtrl) {
      $(function() {        
        element.select2({      
          formatNoMatches : function() { 
            return 'No results';
          }         
        });
      });
    }
  }
});
实施:

<select id="animals" name="animals" class="form-control" ng-model="item.animals" autocomplete  > 
  <option ng-repeat="animal in animals" value="{{animal.code}}" >{{animal.value}}</option>                  
</select>

{{animal.value}}
此时组件运行良好,但是,我有一个简单的$state。转到加载其他视图,然后返回此主视图,当返回到视图时,所选动物不加载,而是加载item.animals的值。动物包含以前正确选择的值

?如何再次选择该项目?我真的不明白为什么更改状态时会丢失选择


“谢谢你的进步

这就是存在
ng选项的原因。您可以使用
ng选项
,将正确加载以前选择的值

<select id="animals" name="animals" class="form-control"
    ng-model="item.animals" autocomplete=""
    ng-options="animal.code as animal.value for animal in animals">
</select>


示例Plunker:

我整天都在用头撞这个。非常感谢你,你的回答为我指明了正确的方向。