Ionic2 ModalController和NavController之间的差异

Ionic2 ModalController和NavController之间的差异,ionic2,Ionic2,我需要了解离子2中ModalController和NavController之间的区别。何时应选择NavController以及何时选择ModalController?用于创建和显示模态。Modals通常用于库、编辑表单和其他应推到当前页面顶部的内容 import { ModalController } from 'ionic-angular'; import { Page1 } from './pages'; constructor(private modalCtrl: ModalContr

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

用于创建和显示模态。Modals通常用于库、编辑表单和其他应推到当前页面顶部的内容

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.
}); 
用于导航功能(考虑选项卡或基本页面导航)。此控制器还包含您的导航历史记录

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

constructor(private navCtrl: NavController) {

}

this.navCtrl.push(Page1);
因此,有两种不同的方法来呈现所需的页面。有关更多信息/选项/方法,请准备好提供的链接,其中包含模态和导航控制器组件上的所有可用功能。

在:

模态使用导航控制器在根导航中显示自身 堆栈它添加到堆栈中的方式类似于NavController.push 工作

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

模式是覆盖用户当前页面的内容窗格

一个情态动词实际上在这一页上。它就像一个弹出窗口。在小型设备中,它占据了屏幕的所有空间,因此您无法意识到它与页面的区别。但如果你像ipad一样在平板电脑上测试它,你会看到模式只占屏幕的一部分,而当前页面就在它后面。(下面的图像描述)。

应该使用什么?

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