Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何在用户打开特定模式时隐藏侧菜单_Angularjs - Fatal编程技术网

Angularjs 如何在用户打开特定模式时隐藏侧菜单

Angularjs 如何在用户打开特定模式时隐藏侧菜单,angularjs,Angularjs,我有副菜单:- <md-sidenav md-component-id="left" md-is-open="sidenavOpen" class="md-sidenav-left"> <li class="noFocus" ng-click="showModal1()"> <a>MODAL 1</a> </li> <li class="noFocus" ng-click="showModal2()"> <

我有副菜单:-

<md-sidenav md-component-id="left" md-is-open="sidenavOpen" class="md-sidenav-left">

<li class="noFocus" ng-click="showModal1()">
   <a>MODAL 1</a>
</li>
<li class="noFocus" ng-click="showModal2()">
   <a>MODAL 2</a>
</li>
.... and so on.

</md-sidenav>

每当打开模式时,我都会关闭sidenav。但是在我的应用程序中有很多模态。因此,为每一个模块执行此操作是一项相当长的工作,有人能告诉我为所有模态执行此操作的有效方式吗?

您只需要一个函数。您只需将与模态编号对应的参数传递给该函数,然后调用弹出窗口即可

JS:

HTML:


你能解释一下这个$scope是什么吗;为什么?你不必用这个。我以为在每个模态函数中使用了不同的变量,并触发了布尔值。但在您的情况下,因为您使用的是相同的变量,即sidenavOpen everywhere,所以不需要此数组。
$scope.sidenavOpen = false;

$scope.showModal1 = function () {
    $scope.sidenavOpen = false;
     $('#modal1').modal('toggle');
}
$scope.showModal2 = function () {
    $scope.sidenavOpen = false;
     $('#modal2').modal('toggle');
}
$scope.sidenavOpen=false;
$scope.showModal = function (id) {
    $scope.sidenavOpen = false;
     $('#modal'+ id).modal('toggle');
}
<li class="noFocus" ng-click="showModal(1)">
   <a>MODAL 1</a>
</li>