我是Ionic 2和Angular2的新手,我已经使用以下命令下载了一个新的Ionic模板
Ionic start appname sidemenu --v2 --ts
Run Code Online (Sandbox Code Playgroud)
对于这个特定的解决方案,我添加了一个登录页面来验证用户.验证成功后,用户将导航到使用侧边菜单的菜单页面.
由于解决方案基于sidemenu模板,因此只要用户向左滑动,就会在登录页面上显示侧边菜单.
那么有人可以指导我纠正这个错误,并在浏览视图时停止显示侧边菜单.
我的代码
App.ts文件
import {App, IonicApp, Platform,MenuController} from 'ionic-angular';
import {StatusBar} from 'ionic-native';
import {HelloIonicPage} from './pages/hello-ionic/hello-ionic';
import {ListPage} from './pages/list/list';
import {HomePage} from './pages/home/home';
@App({
templateUrl: 'build/app.html',
config: {} // http://ionicframework.com/docs/v2/api/config/Config/
})
class MyApp {
// make HelloIonicPage the root (or first) page
rootPage: any = HomePage;
pages: Array<{title: string, component: any}>;
constructor(
private app: IonicApp,
private platform: Platform,
private menu: MenuController
) {
this.initializeApp();
// set …Run Code Online (Sandbox Code Playgroud) 我的问题:
我的应用程序包含一个启用滑动的菜单.在登录屏幕上,如果我滑动,我可以看到不正确的菜单.我想对不包含菜单图标的页面禁用菜单滑动,例如登录,包含后退按钮的内部详细信息页面等.
解决方案:
我可以通过关注SO链接来做到这一点 - /sf/answers/2705825111/
我创建了一个基类并在其中注入了一个菜单对象.覆盖ionViewDidEnter()和ionViewDidLeave()在子类中,我继承了基类.我必须super()在派生类构造函数中编写调用,并将菜单对象传递回超类.
是他们用这种方式做任何其他方式我必须在每一页都这样做.
请检查以下代码片段:
基类
import { MenuController } from "ionic-angular";
export class BaseComponent {
constructor(public menu: MenuController) {
}
ionViewDidEnter() {
this.menu.swipeEnable(false);
}
ionViewDidLeave() {
this.menu.swipeEnable(true);
}
}
Run Code Online (Sandbox Code Playgroud)
派生类
import { Component } from '@angular/core';
import { NavController, LoadingController, Events, MenuController } from 'ionic-angular';
@Component({
selector: 'login',
templateUrl: 'login.component.html'
})
export class login extends BaseComponent {
constructor(public menu: MenuController) {
super(menu)
}
}
Run Code Online (Sandbox Code Playgroud)