2016-06-08 89 views
-1

我已創建md-sidenav。我想在默認情況下保持sidenav處於打開狀態,但我仍然希望sidenav顯示在頁面上方,我希望能夠關閉sidenav - 因此我不想使用md-is-locked-open表達式。任何想法我可以做到這一點?保持默認打開md-sidenav

HTML代碼:

<md-button class="md-icon-button hamburger" aria-label="More" ng-click="openLeftMenu()" style="height: auto;"> 
      <md-icon md-svg-icon="images/menu.svg"></md-icon> 

     </md-button> 

<md-sidenav layout="column" class="md-sidenav-left md-whiteframe-z2 menuside" md-component-id="left"> 

    <div class="navheader" layout="row" layout-align="space-between center"> 

     <!--show location--> 
     <md-button ui-sref="map" ng-click="openLeftMenu()" md-ink-ripple="false" class="yourlocation" layout="row" layout-align="start center" aria-label="Current-location"> 
      <p class="locationtext">{{currentLocation}}</p> 
     </md-button> 


     <!--close menu--> 
     <button class="hambugerclose" ng-click="openLeftMenu()"> 
      <i class="material-icons">clear</i> 
     </button> 

    </div> 

    <!--MOBILE MENU GRID--> 
    <div layout="row" layout-align="center center" class="jumbowrapper2" layout-wrap> 
     <div ng-repeat="navitem in navitems" class="navitemwrap" flex="33"> 
      <md-button md-ink-ripple="false" layout="column" layout-align="center center" ui-sref="{{navitem.path}}" href="{{navitem.link}}" ng-click="openLeftMenu()" class="itembutton"> 
       <div class="iconoutline" layout="column" layout-align="center center"> 
        <md-icon class="itemicon" md-svg-src="{{navitem.icon}}"></md-icon> 
       </div> 
       <p class="itemtext2" translate>{{navitem.title}}</p> 
      </md-button> 
     </div> 
    </div> 

</md-sidenav> 

JS代碼:

$scope.openLeftMenu = function() { 
$mdSidenav('left').toggle(); 
}; 

謝謝!

回答

0

md-is-locked-open設置爲等於邏輯值。我會使用它,並在我的控制器上有一個名爲KeepSideBarOpen的屬性,並且有一個按鈕用於在單擊時將此屬性的值設置爲false。 (我可能會使用自定義控制器的側面導航)。

function sideNavController() { 
    var vm = this; 
    vm.closeSideNav = closeSideNav; 
    vm.sideNavOpen = true; 

    function closeSideNav() { 
     vm.sideNavOpen = false 
    } 

} 
<md-side-nav md-is-locked-open="ctrl.sideNavOpen">...</md-side-nav> 

然後只要把你身邊的資產淨值(或其他地方)調用closeSideNav

0

通過「默認」我假設你的意思是在初始頁面加載開放中的按鈕。我做到了這一點通過使sidenav切換功能,就像你的...

$scope.openLeftMenu = function() { 
    $mdSidenav('left').toggle(); 
}; 

然後我把這個功能時,該文件已準備就緒...

angular.element(document).ready(function() { 
    $scope.openLeftMenu() 
}); 

這將使sidenav仍然很好地覆蓋頁面。

1

我使用md-is-open作爲下面的代碼,它工作正常。

<md-sidenav md-is-open="true"