class MyComponent {
constructor(nav: NavController) {
this.nav = nav;
}
}
页面创建可以使用@Page
装饰器。
当页面被添加到navigation栈的时候,页面就被展示了,使用push()
方法。
页面销毁时将从navigation栈中移除(使用pop()
或者setRoot()
)。
@Page({
template: 'Hello World'
})
class HelloWorld {
onPageLoaded() {
console.log("I'm alive!");
}
onPageWillLeave() {
console.log("Looks like I'm about to leave :(");
}
}
-
onPageLoaded
当页面加载时运行,每被创建并且添加到DOM树时执行一次。如果页面切换但是被缓存下来,再次进入此页面时,将不会触发该事件。
-
onPageWillEnter
当页面即将进入并成为活动页时触发
-
onPageDidEnter
当页面完全进入成为活动页面时执行,不管是否被缓存,都将执行。
-
onPageWillLeave
页面即将成为非活动页时触发
-
onPageDidLeave
当页面切换,该页面已经成为非活动页时触发
-
onPageWillUnload
当页面即将被销毁时执行
-
onPageDidUnload
当页面已经被销毁时执行
设置当前navigation栈的根节点
属性名称 | 类型 | 描述 |
---|---|---|
page | Type | 页面的类型 |
params | object | 传递到下一个视图的参数 |
opts | object | 过渡选项 |
返回:Promise |
用来设置navigation栈。你可以用它改变navigation的历史记录和切换动画。
import {Page, NavController} from 'ionic-angular';
import {Info} from '../info/info';
import {List} from '../list/list';
import {Detail} from '../detail/detail';
export class Home {
constructor(nav: NavController) {
this.nav = nav;
}
setPages() {
this.nav.setPages([{
page: Info
}, {
page: List,
params: {tags: 'css'}
}, {
page: Detail,
params: {id: 325}
}], {
animate: true
});
}
}
属性名称 | 类型 | 描述 |
---|---|---|
pages | array | 页面类型和参数组成的数组 |
opts | object | 过渡选项 |
返回:Promise
属性名称 | 类型 | 描述 |
---|---|---|
page | Type | 页面的类型 |
params | object | 传递到下一个视图的参数 |
opts | object | 过渡选项 |
返回:Promise
添加组件到navigation栈中,例如:ActionSheet
Alert
Modal
等
class MyClass{
constructor(nav: NavController) {
this.nav = nav;
}
presentModal() {
let modal = Modal.create(ProfilePage);
this.nav.present(modal);
}
}
属性名称 | 类型 | 描述 |
---|---|---|
enteringView | ViewController | 组件的控制器 |
opts | object | 过渡选项 |
返回:Promise
插入一个视图到navigation栈。
属性名称 | 类型 | 描述 |
---|---|---|
insertIndex | number | 插入的索引 |
page | Type | 页面的类型 |
params | object | 传递到下一个视图的参数 |
opts | object | 过渡选项 |
返回:Promise |
属性名称 | 类型 | 描述 |
---|---|---|
insertIndex | number | 插入的索引 |
insertPages | array | 页面类型和参数组成的数组 |
opts | object | 过渡选项 |
返回:Promise |
如果你想后退,那么可以调用该方法。
class SecondView{
constructor(nav:NavController){
this.nav = nav;
}
goBack(){
this.nav.pop();
}
}
属性名称 | 类型 | 描述 |
---|---|---|
opts | object | 过渡选项 |
直接跳转到根导航,不管在navigite栈中有多少视图。
属性名称 | 类型 | 描述 |
---|---|---|
opts | object | 过渡选项 |
将当前视图到该视图的历史记录弹出,并跳转到指定视图。
属性名称 | 类型 | 描述 |
---|---|---|
view | ViewController | |
opts | object | 过渡选项 |
删除栈里指定索引段的元素。
属性名称 | 类型 | 描述 |
---|---|---|
startIndex | number | 从栈中删除页面的起始索引,默认为最后一页的索引 |
removeCount | number | 从栈中删除多少个页面,默认为1 |
opts | object | 过渡选项 |
返回一个Promise
返回一个布尔值,来表示当前是否支持滑动返回
返回一个布尔值,来表示是否还有可返回的页面
返回指定索引的组件
返回当前活动页面的视图控制器
返回一个布尔值,来表示该视图是否是当前活动页面。
返回指定页面的视图控制器
返回当前栈中第一个的视图控制器
返回当前栈中最后一个的视图控制器
返回某个视图在栈中的索引
返回栈的长度。
返回NavController