Wie man in md-select innerhalb der Direktive an mehrere bindet

Versuche, eine einfache Direktive zu erstellen, die ein Textfeld oder eine Dropdown-Liste anzeigt, je nachdem, ob ein Array für ein @ übergeben wirmodel Eigenschaft für den Bereich.

Alles außer explizitem Setzen vonfalse im Direktiven-Markup, z. B.multiple="false" führt zu einem Dropdown-Menü mit Mehrfachauswahl.

Warum funktioniert das nicht? Außerdem funktioniert die md-select-Wertebindung nicht (obwohl die Textfeldbindung funktioniert), was ich aus dem gleichen Grund vermute.

Plunkr hier verfügbar zur Veranschaulichung des Problems

Verbrauche

<div ng-app='home' layout-padding layout="row">
  <content-filter ng-repeat="filter in filters" flex="filter.width" model="filter.model" value="filter.value"></content-filter>
</div>

Consumer Controller

app.controller('MainCtrl', function($scope) 
{
  $scope.filters = 
  [
    {
      model: 
      {
       multiSelect: false,
        items: 
        [
          {
            label: 'All',
            value: 'all'
          }, 
          {
            label: 'Fail',
            value: 'fail'
          }, 
          {
            label: 'Success',
            value: 'success'
          }
        ]
      },
      value: 'all',
      width: '50%'
    }, 
    {
      value: '123',
      width: '50%'
    }
  ];
 });

Direktive

app.directive('contentFilter', function() 
{
  return {
    restrict: 'E',
    replace: false,
    template: '\
      <md-input-container flex layout="fill" ng-if="model && model.items.length">\
        <md-select ng-model="value" multiple="model.multiSelect === true">\
         <md-option ng-repeat="item in model.items" ng-value="{{ item.value }}">{{ item.label }}</md-option>\
        </md-select>\
      </md-input-container>\
      <md-input-container flex layout="fill" ng-if="!model">\
        <input type="text" aria-label="{{ label }}" ng-model="value" />\
      </md-input-container>',
    scope: 
    {
      value: '=',      
      model: '=?'
    }
  };
});

Antworten auf die Frage(2)

Ihre Antwort auf die Frage