AngularJS' "multidir" 在 Angular Material 中使用 ng-include 和 msSidenav 时出错

AngularJS' "multidir" error when using ng-include and msSidenav in Angular Material

我的项目基于Angular Material框架(基本上:Angular+Material设计中的web组件)。

我遇到的问题是,出于某种原因,一个指令 (md-sidenav) 导致 multidir 错误。

<md-sidenav layout="column" class="md-sidenav-left" md-component-id="left" md-is-locked-open="false" ng-controller="sideMenuController">
</md-sidenav>

我确定 md-sidenav 是坏人,因为我试图用另一个指令替换它并且根本没有问题。我也确定这个指令在项目的其他任何地方都没有使用,与之关联的控制器也没有。

我也注意到 在我切换到嵌套布局后出现此错误(即主视图中的 ng-includes)但是由于我对项目进行了其他一些更改,我可以确定这是真正的原因。

我创建了一个 Plunkr 来展示这个问题。 它实际上没有 运行 因为我不知道如何包含 ngRoute 因为 CDN 不可用(请随意编辑 Plukr)。

http://plnkr.co/edit/M52I7pn8D4fUaGAlOMtn

有两个错误,您没有将 text/javascript 用于 angualr-route 脚本

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.js" type="text/javascript"></script>

将 sidenav 嵌入 div,因为它已经有一个指令,

<div ng-controller="sideMenuController">
<md-sidenav layout="column" class="md-sidenav-left" md-component-id="left" md-is-locked-open="false" >
</md-sidenav>
</div>