Javascript 从角度材质实现$md sidenav时出错

Javascript 从角度材质实现$md sidenav时出错,javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,我正在尝试在我的应用程序中实现sidenav。下面是我的模板 <div class='dashboard' ng-controller="DashBoardCtrl"> <div layout='row'> <div layout='column' flex='30'> <md-sidenav md-component-id="left" class="md-sidenav-left"> Left

我正在尝试在我的应用程序中实现sidenav。下面是我的模板

<div class='dashboard' ng-controller="DashBoardCtrl">
  <div layout='row'>
    <div layout='column' flex='30'>
        <md-sidenav md-component-id="left" class="md-sidenav-left">
            Left Nav!
        </md-sidenav>
    </div>
    <div layout='column' flex='70'>
        {{test}}
    </div>
</div>
当我尝试运行应用程序时,我收到错误
SideNav'left'不可用!您是否使用md组件id='left'?

我使用了
md component id='left'
,但仍然面临这个问题。请用正确的方式引导我

这里有一个解决方案-

在调用
toggle()
时,
md sidenav
似乎不可用。
$timeout
允许这种情况发生

加价

<div ng-controller="AppCtrl" ng-cloak="" ng-app="MyApp">
  <div layout='row'>
    <div layout='column' flex='30'>
      <md-sidenav md-component-id="left" class="md-sidenav-left">
        Left Nav!
      </md-sidenav>
    </div>
    <div layout='column' flex='70'>
      {{test}}
    </div>
</div>

可能是
$mdSidenav
组件未就绪。尝试使用异步回调。请告知我们
<div ng-controller="AppCtrl" ng-cloak="" ng-app="MyApp">
  <div layout='row'>
    <div layout='column' flex='30'>
      <md-sidenav md-component-id="left" class="md-sidenav-left">
        Left Nav!
      </md-sidenav>
    </div>
    <div layout='column' flex='70'>
      {{test}}
    </div>
</div>
angular.module('MyApp',['ngMaterial'])

.controller('AppCtrl', function($mdSidenav, $timeout) {
  $timeout(function () {
    $mdSidenav('left').toggle();
  });
});