带有登录页面的Ionic应用程序侧菜单
Ionic app side menu with a login page
我正在构建一个基于侧菜单的导航应用程序。我遇到的问题是试图将其与登录页面一起实现,而登录页面不属于侧菜单的范围,因此只有在登录后才能使用侧菜单导航。
这是我的应用程序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('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);
};
})
我为您做了一个小演示,
Plunker演示
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');
});
如果你需要任何额外的功能,请告诉我?感谢
相关文章:
- 在Ionic应用程序上使用$.getScript加载谷歌地图Api
- Ionic应用程序无法识别android手机中的语音
- 将JSON存储和恢复到此Ionic应用程序的最有效方法
- Ionic应用程序在部署后给出ReferenceError:未定义Promise
- 如何将我的Ionic应用程序与我的java服务器(Spring MVC)连接
- 我需要Angular/Ionic应用程序的帮助
- 我怎么能在IONIC应用程序中使用Json对象而不是硬编码对象呢
- 在Ionic应用程序中发送电子邮件会导致以下错误:TypeError:$cordovaEmailComposer.isA
- Ionic应用程序的Webview
- 带有angularjs的ionic应用程序
- 如何启用ionic应用程序和浏览器之间的通信
- Ionic应用程序在chrome和设备方面落后了很多
- JQuery插件选择不在我的Ionic应用程序中工作
- 如何使用cocoonjs-webview+构建ionic应用程序
- Ionic应用程序使用angularJS过滤器非常慢
- 如何在ionic应用程序中正确实现单点登录
- iOS 中的 Ionic 应用程序无法使用 cordova 插件媒体播放本地音频
- 如何使用 REST API 将表单数据从 ionic 应用程序发送到 parse.com MBaaS
- 超薄的开机自检呼叫无法从 Ionic 应用程序工作
- ngCordova$cordovaZip不解压缩,Ionic应用程序