javascript - 带有登录页面的 Ionic 应用程序侧面菜单

标签 javascript html authentication ionic-framework

我正在构建一个基于侧边菜单的导航应用。我遇到的问题是尝试将它与登录页面一起实现,这不是侧面菜单范围的一部分,因此只有在登录后,才能使用侧面菜单导航。

这是我的 app.js:

.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
  .state('signin', {
    url: '/sign-in',
    templateUrl: 'templates/sign-in.html',
    controller: 'SignInCtrl'
  })

  .state('sideMenu', {
    url: '/sideMenu',
    abstract: true,
    templateUrl: 'templates/sideMenu.html',
    controller: 'sideMenuCtrl'
  })

  .state('home', {
    url: '/home',
    templateUrl: 'templates/home.html',
    controller: 'homeTabCtrl'
    })
  //})

$urlRouterProvider.otherwise('/home');
})

这是侧边菜单的 HTML:

<ion-view ng-controller="sideMenuCtrl">

<ion-pane ion-side-menu-content>
  <ion-nav-bar type="bar-assertive" back-button-type="button-icon" back-button-icon="ion-arrow-left-c"></ion-nav-bar>

  <ion-nav-view>
  </ion-nav-view>
</ion-pane>

<!-- Left Side Menu -->
<ion-side-menu side="right">
  <ion-header-bar class="bar bar-header bar-assertive">
    <h1 class="title">Menu</h1>
  </ion-header-bar>
  <ion-content has-header="true">
    <ion-list>
      <ion-item ng-click="goTo(item.link)" class="item item-icon-left" ng-repeat="item in list" menu-close>
        <!-- <i ng-class="item.iconClass"></i> -->
        {{item.text}}
      </ion-item>
    </ion-list>
  </ion-content>
</ion-side-menu>

Controller :

  .controller('sideMenuCtrl', function ($scope, $location, MenuService) {
console.log('Side menu is reloaded');

// "MenuService" is a service returning mock data (services.js)
$scope.list = MenuService.all();

$scope.goTo = function(page) {
  console.log('Going to ' + page);
  $scope.sideMenuController.toggleLeft();
  $location.url('/' + page);
};

})

最佳答案

我已经为你做了一个小demo,

Plunker Demo

html

<ion-view hide-nav-bar="true " class="view-bg-blue">
    <ion-nav-buttons side="left">
        <button class="button button-icon button-clear ion-navicon" ng-click="openMenu()"></button>
    </ion-nav-buttons>
    <ion-content padding="true">
        <h3 class="text-center">Welcome To Landing Page</h3>
        <div class="row">
            <div class="col">
                <div class="text-center">
                    <h4>My App</h4>
                    <div class="row">
                        <div class="col">
                            <input placeholder="User">
                        </div>
                    </div>
                    <div class="row">
                        <div class="col">
                            <input placeholder="password">
                        </div>
                    </div>
                    <a class="button icon-right ion-chevron-right button-calm" ng-click="open()">Login</a>
                </div>
            </div>
        </div>
    </ion-content>
</ion-view>

app.js

var app = angular.module('myApp', ['ionic']);

app.config(function($stateProvider, $urlRouterProvider) {
    $stateProvider
        .state('tabs', {
            url: '/tab',
            controller: 'TabsCtrl',
            templateUrl: 'tabs.html'
        })
        .state('tabs.home', {
            url: '/home',
            views: {
                'home-tab': {
                    controller: 'homeCtrl',
                    templateUrl: 'home.html'
                }
            }
        })
        .state('tabs.settings', {
            url: '/settings',
            views: {
                'settings-tab': {
                    controller: ' signOutCtrl',
                    templateUrl: 'settings.html'
                }
            }
        });
    $stateProvider
        .state('landing', {
            url: '/landing',
            controller: 'landingCtrl',
            templateUrl: 'landing.html'
        });

    $urlRouterProvider.otherwise('/landing');
});

如果您需要任何其他功能,请告诉我?谢谢

关于javascript - 带有登录页面的 Ionic 应用程序侧面菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33718177/

相关文章:

azure - Azure SQL 登录期间的新防火墙规则

c# - 表单例份验证 cookie 中的 ASP.NET MVC 用户数据与添加到 session

javascript - 如何在 UIWebview 中将 XCode 变量传递给本地 HTML

javascript - 无法更改 Bootstrap 5 toast 上的选项

html - CSS 样式在本地 xampp 服务器中不起作用

html - 如何使用 Sass 选择子项

Java MD5 哪一个是正确的?

javascript - 如何轻松处理javascript异步函数中的所有错误?

javascript - 如何解决 react-redux 应用程序中添加评论和删除评论的问题

javascript - Javascript 函数返回 True 和 False