angularjs – 角度材料设计md-switch在标签内不起作用

在选项卡中放置一个开关(md-switch指令)时,会抛出一个咏叹调错误

ARIA:节点上缺少可访问性所需的属性“aria-label”:…

无论是否存在咏叹调标签,都会发生这种情况.如果将开关移到选项卡之外,它将按预期工作.

plunker显示问题
http://plnkr.co/edit/FmZAyLBpzhURbdZuuhQK?p=preview

<div ng-app="app" ng-controller="ctrl" >
    <md-tabs md-selected="selectedIndex">
        <md-tab id="tab1">Item One</md-tab>
    </md-tabs>
    <ng-switch on="selectedIndex" class="tabpanel-container">
        <div role="tabpanel" id="tab1-content" ng-switch-when="0">
            <div>
                <md-switch aria-label="toggle" ng-model="data.switch">Switch : {{ toggle }}</md-switch>
            </div>
        </div>
    </ng-switch>
</div>

<script>
    var app = angular.module('app', ['ngMaterial']);

    app.controller("ctrl", function ($scope) {
        $scope.toggle = false;
        $scope.selectedIndex = 0;
    });
</script>

最佳答案 那很奇怪..

这个问题似乎是用最新的角度材料(版本0.6.1-master-0767813)修复的.

这是羽毛球:http://plnkr.co/edit/chEaf9i50mIiThp0Jloq?p=preview

我刚刚将脚本更改为最新版本:

<link rel="stylesheet" href="//rawgit.com/angular/bower-material/master/angular-material.css">
<script src="//rawgit.com/angular/bower-material/master/angular-material.min.js"></script>

您还需要将ng-model更改为切换值.所以不要使用

ng-model="data.switch"

你需要使用

ng-model="toggle"

指向$scope.toggle.

点赞