ModalController和NavController之间的差异

时间:2017-09-01 06:55:11

标签: ionic2

我需要了解Ionic 2中ModalController和NavController之间的区别。我应该何时选择NavController以及何时选择ModalController?

2 个答案:

答案 0 :(得分:2)

ModalController doc

  

模态使用NavController在根导航中显示自己   堆。它被添加到堆栈中,类似于NavController.push   的工作原理。

所以我们可以说,在机制上,它们是相同的。让我们谈谈用户体验。

  

模态是一个覆盖用户当前页面的内容窗格

模态实际上遍历页面。它就像一个弹出窗口。在小型设备中,它占用了屏幕的所有空间,因此您无法从它和页面中实现差异。但是如果你像平板电脑一样在平板电脑上进行测试,你会看到模态只占据屏幕的一部分,当前页面就在它后面。(图片说明如下)。
enter image description here

应该使用什么?
在大多数情况下,您可以根据自己的喜好使用模态或页面,但要确保在编辑案例,选择或获取信息时应使用正确的UX模式,应使用其他案例页面

答案 1 :(得分:1)

ModalController用于创建和呈现模态。模态通常用于库,编辑表单和其他应该在当前页面上推送的内容。

import { ModalController } from 'ionic-angular';
import { Page1 } from './pages';

constructor(private modalCtrl: ModalController) {}

let modal = this.modalCtrl.create(Page1);
modal.present();
modal.onDidDismiss(() => {
  // Action done after dismissing the modal.
}); 

NavController用于导航功能(考虑标签或只是基本页面导航)。该控制器还包含您的导航历史记录。

import { NavController } from 'ionic-angular';
import { Page1 } from './pages';

constructor(private navCtrl: NavController) {

}

this.navCtrl.push(Page1);

因此有两种不同的方法来呈现所需的页面。有关更多信息/选项/方法,请准备好提供的链接,其中包含Modal和NavController组件上可用的所有可用功能。