在 ng-repeat 中找不到 md-sidenav 句柄的实例

No instance found for handle for md-sidenav inside ng-repeat

我正在尝试创建一堆动态创建的 md-sidenavs。我可以将它们的 ID 压入堆栈,但在使用 ng-repeat 时无法切换它们。

使用:

app.controller('MenuCtrl', ['$scope', '$mdSidenav', function($scope, $mdSidenav) {
  var stack = [];

  $scope.getStack = function() {
    return stack;
  }

  $scope.add = function(id) {
    stack.push(id);
  }

  $scope.toggle = function(id) {
    $mdSidenav(id).toggle();
  }
}]);

与:

<md-button ng-click="add('test')" class="menuBtn">Add</md-button>
<md-button ng-click="toggle('test')" class="menuBtn">Toggle</md-button>
<md-sidenav class="md-sidenav-left md-whiteframe-z2" md-component-id="{{id}}" ng-repeat="id in getStack()">
  {{id}}
</md-sidenav>

单击“添加”按钮会按预期在文档中生成 md-sidenav 元素。但是,切换按钮除了在控制台中产生 "No instance found for handle test" 错误外什么都不做。使用 md-component-id="test" 声明静态 md-sidenav 工作正常。我正在使用 AngularJS 1.3.15 和 Angular Material 0.8.3.

来自 `Sidenav' 指令 source 它似乎不接受 md-component-id 的动态值