我需要了解Ionic 2中ModalController和NavController之间的区别。我应该何时选择NavController以及何时选择ModalController?
答案 0 :(得分:2)
模态使用NavController在根导航中显示自己 堆。它被添加到堆栈中,类似于NavController.push 的工作原理。
所以我们可以说,在机制上,它们是相同的。让我们谈谈用户体验。
模态是一个覆盖用户当前页面的内容窗格
模态实际上遍历页面。它就像一个弹出窗口。在小型设备中,它占用了屏幕的所有空间,因此您无法从它和页面中实现差异。但是如果你像平板电脑一样在平板电脑上进行测试,你会看到模态只占据屏幕的一部分,当前页面就在它后面。(图片说明如下)。
应该使用什么?
在大多数情况下,您可以根据自己的喜好使用模态或页面,但要确保在编辑案例,选择或获取信息时应使用正确的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组件上可用的所有可用功能。