在 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 的动态值
我正在尝试创建一堆动态创建的 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 的动态值