Проблемы с версией Angularjs: выбор по умолчанию отключенной опции - PullRequest
0 голосов
/ 26 апреля 2018

Почему в angularjs 1.4.x выбор по умолчанию отключенной опции не работает, но хорошо работает в angularjs 1.5.x?

Например, следующий код хорошо работает с angularjs 1.5.5 (по умолчанию выбирается белый , который отключен ):

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Example - example-select-production</title>


  <script src="//code.angularjs.org/1.5.5/angular.min.js"></script>



</head>
<body ng-app="selectExample">
  <script>
angular.module('selectExample', [])
  .controller('ExampleController', ['$scope', function($scope) {

    $scope.myColor = {name:'white', shade:'light'}; // red
    $scope.colors = [
      {name:'black', shade:'dark'},
      {name:'white', shade:'light', notAnOption: true},
      {name:'red', shade:'dark'},
      {name:'blue', shade:'dark', notAnOption: true},
      {name:'yellow', shade:'light'}
    ];
  }]);
</script>
<div ng-controller="ExampleController">


  <label>Color filtered by shade, with some disabled:
    <select ng-model="myColor.name" validate-on="dirty" required-message="'This field is required'" ng-disabled="false" ng-required = "true"
          ng-options="color.name as color.name group by color.shade disable when color.notAnOption for color in colors | filter:{'shade':'light'}:true">
    </select>
  </label><br/>




  <hr/>
  Currently selected: {{ {selected_color:myColor} }}
  <div style="border:solid 1px black; height:20px"
       ng-style="{'background-color':myColor.name}">
  </div>
</div>
</body>
</html>

Но при изменении версии, например, 1.4.7 в теге script в приведенном выше примере, по умолчанию white не выбирается Смотрите этот plunkr: https://plnkr.co/edit/UAOFj5MEow3xEWH0ZLyz?p=preview

Как мне получить поведение в 1.4.x, которое прекрасно работает в 1.5.x?

...