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

时间:2015-05-07 05:00:50

标签: angularjs angular-material

我试图创建一堆多个动态创建的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>

单击“添加”按钮可按预期在doc中生成md-sidenav元素。但是,Toggle按钮除了产生&#34;没有找到用于句柄测试的实例之外什么都不做。控制台中出错。使用md-component-id="test"声明静态md-sidenav工作正常。我使用的是AngularJS 1.3.15和Angular Material 0.8.3。

1 个答案:

答案 0 :(得分:6)

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