How to remove the menu icon only on the login page - ionic?

I am developing an application with the Ionic Framework, how can I hide the menu and popover button only on login pages? and I just want to show the side menu in some specific looks, but not in all views. please help me i'm new to ionic frameworks

i want to remove menu and popover button in login page only β†’

.controller('AppCtrl', function($scope, $ionicModal, $ionicPopover, $timeout) {
    // Form data for the login modal
    $scope.loginData = {};
    $scope.isExpanded = false;
    $scope.hasHeaderFabLeft = false;
    $scope.hasHeaderFabRight = false;

    var navIcons = document.getElementsByClassName('ion-navicon');
    for (var i = 0; i < navIcons.length; i++) {
        navIcons.addEventListener('click', function() {
            this.classList.toggle('active');
        });
    }
      // .fromTemplate() method
    var template =  '<ion-popover-view>' +
                    '   <ion-header-bar class="popbg">' +
                    '       <h1 class="title"><i class="ion ion-android-settings padding-right"></i>Settings</h1>' +
                    '   </ion-header-bar>' +
                    '   <ion-content>' +
                    '   <ion-list> ' +
                    '   <ion-item href="#/app/aboutapp"><i class="ion ion-information-circled padding-right"></i>  About App</ion-item> ' +
                    '   <ion-item href="#/app/profile"><i class="ion ion-person padding-right"></i>Profile</ion-item> ' +
                    '   <ion-item href="#/app/change-password"><i class="ion ion-key padding-right"></i>change password</ion-item> ' +
                    '   <ion-item href="#/app/login"><i class="ion ion-log-out padding-right"></i>Logout</ion-item> ' +
                    '   </ion-list> ' +
                    '   </ion-content>' +
                    '</ion-popover-view>';

    $scope.popover = $ionicPopover.fromTemplate(template, {
        scope: $scope
    });
    $scope.closePopover = function() {
        $scope.popover.hide();
    };
    //Cleanup the popover when we're done with it!
    $scope.$on('$destroy', function() {
        $scope.popover.remove();
    });
    ////////////////////////////////////////
    // Layout Methods
    ////////////////////////////////////////

    $scope.hideNavBar = function() {
        document.getElementsByTagName('ion-nav-bar')[0].style.display = 'none';
    };

    $scope.showNavBar = function() {
        document.getElementsByTagName('ion-nav-bar')[0].style.display = 'block';
    };

    $scope.noHeader = function() {
        var content = document.getElementsByTagName('ion-content');
        for (var i = 0; i < content.length; i++) {
            if (content[i].classList.contains('has-header')) {
                content[i].classList.toggle('has-header');
            }
        }
    };

    $scope.setExpanded = function(bool) {
        $scope.isExpanded = bool;
    };

    $scope.setHeaderFab = function(location) {
        var hasHeaderFabLeft = false;
        var hasHeaderFabRight = false;

        switch (location) {
            case 'left':
                hasHeaderFabLeft = true;
                break;
            case 'right':
                hasHeaderFabRight = true;
                break;
        }

        $scope.hasHeaderFabLeft = hasHeaderFabLeft;
        $scope.hasHeaderFabRight = hasHeaderFabRight;
    };

    $scope.hasHeader = function() {
        var content = document.getElementsByTagName('ion-content');
        for (var i = 0; i < content.length; i++) {
            if (!content[i].classList.contains('has-header')) {
                content[i].classList.toggle('has-header');
            }
        }

    };

    $scope.hideHeader = function() {
        $scope.hideNavBar();
        $scope.noHeader();
    };

    $scope.showHeader = function() {
        $scope.showNavBar();
        $scope.hasHeader();
    };

    $scope.clearFabs = function() {
        var fabs = document.getElementsByClassName('button-fab');
        if (fabs.length && fabs.length > 1) {
            fabs[0].remove();
        }
    };
})

.controller('LoginCtrl', function($scope, $timeout, $stateParams, ionicMaterialInk) {

    $scope.$parent.clearFabs();
    $timeout(function() {
        $scope.$parent.showHeader();
    }, 0);
    ionicMaterialInk.displayEffect();

})
//menu.html

<ion-nav-bar class="bar-assertive-900" ng-class="{expanded: isExpanded, 'has-header-fab-left': hasHeaderFabLeft, 'has-header-fab-right': hasHeaderFabRight}" align-title="left">
            <ion-nav-back-button class="no-text">
            </ion-nav-back-button>
            <ion-nav-buttons side="left">
                <button class="button button-icon button-clear ion-navicon" menu-toggle="left">
                </button>
            </ion-nav-buttons>
            <ion-nav-buttons side="right">
                <button class="button button-icon button-clear ion-android-more-vertical" id="menu-popover" ng-click="popover.show($event)">
                </button>
            </ion-nav-buttons>
        </ion-nav-bar>

//login.html   

+4
source share
1 answer

If you want to remove the side menu button in the view, you only need to insert this view:

<ion-nav-buttons side="left"></ion-nav-buttons>

Here is an example:

http://codepen.io/beaver71/pen/NNpVKL?editors=1010

+4
source

All Articles