我有側面菜單有家,登錄,儀表板,註銷(項目)的離子應用程序。隱藏基於用戶登錄的菜單,以角度js登出
我正在使用服務器api登錄用戶,我想在使用時記錄在側面菜單項登錄不在那裏和儀表板,註銷添加,當用戶註銷時,他可以看到登錄但不註銷和accoun菜單。
下面是我的代碼:
http://codepen.io/gauravcoder/pen/bEjGNa
<!DOCTYPE html>
<html ng-app="ionicApp">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title>Ionic page</title>
<link href="//code.ionicframework.com/nightly/css/ionic.css" rel="stylesheet">
<script src="//code.ionicframework.com/nightly/js/ionic.bundle.js"></script>
<script src="//code.jquery.com/jquery-1.11.3.js"></script>
<script src="//fabricjs.com/lib/fabric_with_gestures.js"></script>
</head>
<body ng-controller="HomeTabCtrl">
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-view animation="slide-left-right"> </ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="right">
<div class="list">
<a class="item item-icon-left" href="#"><i class="icon ion-email"></i> Check mail</a>
<a class="item item-icon-left" href="#login" ng-hide="show_menu" > <i class="icon ion-chatbubble-working" ></i>Login</a>
<a class="item item-icon-left" href="#account" ng-hide="show_menu"> <i class="icon ion-mic-a"></i> Account</a>
<a class="item item-icon-left" href="#" ng-hide="show_menu"> <i class="icon ion-mic-a"></i> Logout</a>
</div>
</ion-side-menu>
</ion-side-menus>
<script id="templates/tabs.html" type="text/ng-template">
<ion-tabs class="tabs-striped tabs-positive tabs-top tabs-top-my tabs-icon-only" animation="fade-in-out">
<ion-tab title="tab1" icon="ion-home" href="#/tab/tab1">
<ion-nav-view name="tab1-tab"></ion-nav-view>
</ion-tab>
<ion-tab title="tab2" icon="ion-home" href="#/tab/tab2">
<ion-nav-view name="tab2-tab"></ion-nav-view>
</ion-tab>
<ion-tab title="tab3" icon="ion-home" ui-sref="tabs.tab3">
<ion-nav-view name="tab3-tab"></ion-nav-view>
</ion-tab>
\t \t <ion-tab title="tab4" icon="ion-home" ui-sref="tabs.tab4">
<ion-nav-view name="tab4-tab"></ion-nav-view>
</ion-tab>
\t \t <ion-tab title="tab5" icon="ion-home" ui-sref="tabs.tab5">
<ion-nav-view name="tab5-tab"></ion-nav-view>
</ion-tab>
\t \t <ion-tab title="tab6" icon="ion-android-apps" ng-click="toggleRightSideMenu()" ui-sref="tabs.tab6">
\t \t <ion-nav-view name="tab6-tab"></ion-nav-view>
</ion-tab>
</ion-tabs>
<ion-footer-bar class="bar-footer btn-footer bar-light">
<div class="row">
<div class="col">
<button class="button button-block button-positive" ng-click='next()'> View cart Page </button>
</div>
<div class="col">
<button class="button button-block button-calm"> View checkout page </button>
</div>
</div>
</ion-footer-bar>
</script>
<script id="templates/tab1.html" type="text/ng-template">
<ion-view view-title="tab1">
\t \t <div class="my-content-tabs scroll-content ionic-scroll has-header has-footer has-tabs-mytop">
\t \t \t <div class="row p0">
\t \t
\t
\t \t \t </div>
\t \t </div>
</ion-view>
</script>
<script id="templates/login.html" type="text/ng-template">
user name is {{user.name}}
</script>
<script id="templates/login.html" type="text/ng-template">
<ion-view view-title="Buy Now" nav-bar-class="bar-balanced" cache-view="false">
<ion-header-bar class="bar-positive" align-title="center">
<button class="button button-clear button-light" ui-sref='tabs.tab1'><i class="ion-chevron-left"></i></button>
<h1 class="title">Login</h1>
</ion-header-bar>
\t </ion-nav-bar>
\t <ion-content class="padding">
\t <div class="list">
<form method="post" action="" id="form-id">
\t <label class="item item-input">
\t \t <input type="text" placeholder="Username" id="username">
\t </label>
\t <label class="item item-input">
\t \t <input type="password" placeholder="Password" id="password">
\t </label>
</form>
\t
\t </div>
\t
\t <div class="row">
\t \t <button class="button button-block button-positive" ng-click="signIn()">
\t \t Login
\t \t </button>
\t </div>
\t </ion-content>
\t
</ion-view>
</script>
<script id="templates/nav-stack.html" type="text/ng-template">
<ion-view view-title="Tab Nav Stack">
<ion-content class="padding">
<p><img src="http://ionicframework.com/img/diagrams/tabs-nav-stack.png" style="width:100%"></p>
</ion-content>
</ion-view>
</script>
<script id="templates/next.html" type="text/ng-template">
<ion-view view-title="View Cart" nav-bar-class="bar-balanced">
\t <ion-nav-bar class="bar-positive" align-title="center">
\t \t <ion-nav-back-button>
\t \t </ion-nav-back-button>
\t </ion-nav-bar>
\t <ion-content class="padding">
\t
clicked id :
\t <p>
\t \t <a class="button icon ion-home" href="#/tab/home"> Home</a>
\t \t <a class="button icon ion-chevron-left" href="#/tab/facts"> Scientific Facts</a>
\t </p>
\t </ion-content>
</ion-view>
</script>
<script>
angular.module('ionicApp', ['ionic', 'ionicApp.controllers', 'ngAnimate']).config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('tabs', {
url: "/tab",
abstract: true,
templateUrl: "templates/tabs.html"
})
.state('tabs.tab1', {
url: "/tab1",
views: {
'tab1-tab': {
templateUrl: "templates/tab1.html",
controller: 'Tab1Ctrl'
}
}
})
.state('login', {
url: "/login",
templateUrl: "templates/login.html",
\t controller: "login"
}).state('account', {
url: "/account",
templateUrl: "templates/account.html",
\t controller: "account"
})
.state('next', {
url: "/next",
templateUrl: "templates/next.html",
controller: "NextController",
params: {
\t \t \t clickedid: null
\t \t }
})
$urlRouterProvider.otherwise("/tab/tab1");
}).controller('account', function ($scope,$http,$ionicPopup) {
}).controller('login', function ($scope,$http,$ionicPopup) {
\t $scope.signIn = function() {
\t \t var username = document.getElementById("username").value;
\t \t var password = document.getElementById("password").value;
\t \t $scope.show_menu = true;
\t \t var alertPopup = $ionicPopup.alert({
\t \t title: 'sucess',
\t \t template: 'now logout and account should show'
\t });
\t
\t };
\t
}).controller('HomeTabCtrl', function($scope, $ionicSideMenuDelegate, $state) {
$scope.show_menu = false;
$scope.toggleLeft = function() {
$ionicSideMenuDelegate.toggleLeft();
};
$scope.toggleRightSideMenu = function() {
\t console.log('rigth open')
$ionicSideMenuDelegate.toggleRight();
};
console.log('HomeTabCtrl');
$scope.next = function(){
$state.transitionTo('next');
}
}).controller("NextController", function($scope){
$scope.showAlert = function(){ alert("I'm a modal window!") }
});
</script>
</body>
</html>
我看你已經更新了你的例子.....現在我很困惑。 – spryce
看到什麼時候沒有登錄隱藏帳戶和登出,當登錄隱藏登錄 – saurav
兄弟剛剛轉到登錄,按提交後提交點擊我設置顯示菜單的值爲true,但我仍然能夠看到側邊欄登錄 – saurav