Ich entwickle eine App mit Ionic Framework, Wie kann ich das Menü und den Popover-Button nur auf Login-Seiten verstecken? und ich möchte nur ein Seitenmenü in einigen konkreten Ansichten zeigen, aber nicht in jeder Ansicht. Bitte helfen Sie mir, ich bin neu in ionischen frameworkdsSo entfernen Sie das Menüsymbol nur auf der Anmeldeseite - ionic?
->
.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
Versuch durch Entfernen Ion-nav-Tasten aus menu.html und fügen Sie nur in bestimmten Ansicht u wollen .. oder ein $ rootScope Variable herzustellen und verwenden, es zu verbergen! in menu.html wenn du auf der Anmeldeseite bist ..! –