📅  最后修改于: 2021-01-03 04:48:24             🧑  作者: Mango
菜单组件是最常用的离子组件。它是一个导航抽屉,可从当前视图的侧面向左或向右滑动。默认情况下,它会在当前视图的左侧滑动,但您也可以向右滑动。菜单可以根据模式显示不同。但是,可以将其更改为任何可用的菜单类型。您可以将任意数量的菜单附加到内容元素。
Ionic使用标准的
菜单组件包含以下元素
菜单按钮:它是一个自动创建图标和功能以在页面上打开菜单的组件。
菜单控制器:用于控制菜单。它提供了显示菜单,启用菜单,切换菜单等方法。它将在旁边引用菜单或ID。如果没有任何一方或ID传递给它,它将获取它找到的第一个菜单。
菜单切换:用于切换菜单的打开或关闭。仅当所选菜单处于活动状态时,该菜单才可见。打开或关闭菜单时,该菜单处于活动状态。如果菜单被禁用或显示为拆分窗格,则将其标记为非活动状态,并且
拆分窗格:当您要创建多视图布局时,此功能很有用。它允许UI元素以增加宽度的方式显示为视口。如果设备的屏幕宽度较小,则拆分窗格将折叠,并且菜单将被隐藏。对于将在浏览器中提供服务并通过应用商店部署到手机和平板电脑的应用而言,它是理想的选择。
让我们看看如何在Ionic中创建侧面菜单。
步骤1:首先,创建空白的Ionic项目。默认情况下,该项目仅包含一个页面,即主页。现在,在这里我们将创建另外两个页面,这使得使用侧面菜单导航到其他页面变得容易。以下命令在Ionic应用程序中创建页面。
ionic generate page Contacts
ionic generate page Chat
步骤2:接下来,转到根组件,即app.component.ts 。然后,创建一个函数sideMenu() ,其中包含一个对象数组。对象数组包括项目中的不同页面。它还包含每个页面的图标和URL。现在,包括以下代码片段。
import { Component } from '@angular/core';
import { Platform } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
@Component({
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.scss']
})
export class AppComponent {
navigate: any;
constructor(
private platform: Platform,
private splashScreen: SplashScreen,
private statusBar: StatusBar
) {
this.sideMenu();
this.initializeApp();
}
initializeApp() {
this.platform.ready().then(() => {
this.statusBar.styleDefault();
this.splashScreen.hide();
});
}
sideMenu() {
this.navigate =
[
{
title : 'Home',
url : '/home',
icon : 'home'
},
{
title : 'Chat',
url : '/chat',
icon : 'chatboxes'
},
{
title : 'Contacts',
url : '/contacts',
icon : 'contacts'
},
];
}
}
步骤3:接下来,我们需要在app.component.html文件中添加
Navigate
{{pages.title}}
在上面的代码片段中,带有side =“ start”的
第
步骤4:在根组件中创建侧菜单后,我们可以在每个页面中打开或关闭它。为此,我们需要在每个页面的html中使用
Start Menu
步骤5:现在,在终端中执行Ionic项目。它将给出以下输出。
如果单击屏幕左上角的三行蓝线菜单按钮,将提供以下输出。
下表显示了Ionic菜单组件中使用的重要方法。
SN | Method | Signature | Description |
---|---|---|---|
1. | Close() | close(animated?: boolean) => Promise |
It closes the menu. If the menu is already closed, or it cannot be closed, it returns false. |
2. | isActive() | isActive() => Promise |
It returns true, if the menu is active. |
3. | isOpen() | isOpen() => Promise |
It returns true, if the menu is open. |
4. | Open() | open(animated?: boolean) => Promise |
It opens the menu. If the menu is already open, or it cannot be opened, it returns false. |
5. | setOpen() | setOpen(shouldOpen: boolean, animated?: boolean) => Promise |
It is used to open or close the button. It returns false, if the operation is not completed. |
6. | Toggle(() | toggle(animated?: boolean) => Promise |
It is used to toggles the menu. It returns false, if the operation is not completed successfully. |