Navigator
页面导航组件。
Page属性
属性名 | 类型 | 说明 |
---|---|---|
url【必填】 | string | 页面Url,以 scheme://xxx/yyy 的形式传入 |
params | Object | 页面间传递的参数 |
animated | boolean | 是否需要转场动画(默认是true) |
id | string | 页面唯一标示,可以不传,当需要pop到该页面时,需要指定page的id |
closeSelf | boolean | 打开页面时是否关闭自身 |
Url格式
类型 | 示例 |
---|---|
Hummer Bundle页面 | hummer://home/index.js |
Hummer Url页面 | http://xxx.xxx.xxx.xxx:8000/index.js |
Hummer 相对路径页面 | ./index.js |
H5 页面 | https://hummer.didi.cn |
自定义页面 | native://album wechat://xxx/yyy |
方法
js
/**
* 打开某个页面
* @param pageInfo 页面信息
* @param callback 页面结果回调
*/
openPage(pageInfo: Object, callback: (Object) => void);
js
/**
* 关闭当前页面
* @param pageInfo 页面信息
*/
popPage(pageInfo: Object);
js
/**
* 回退到指定页面
* @param pageInfo 页面信息
*/
popToPage(pageInfo: Object);
js
/**
* 回退到首页
* @param pageInfo 页面信息(是否需要动画)
*/
popToRootPage(pageInfo: Object);
js
/**
* 向前回退指定数量的页面
* @param count 要回退的页面级数(默认是1)
* @param pageInfo 页面信息(是否需要动画)
*/
popBack(count: number, pageInfo: Object);
示例
js
let pageInfo = {
id: '111',
// url: 'hummer://UPPayOneTrava',
url: 'http://172.23.161.84:9292/Test_Page.js',
animated: true,
params: {
aaa: 111,
bbb: 222,
}
};
Navigator.openPage(pageInfo, (result) => {
console.log('Page result: ' + JSON.stringify(result));
});
Navigator.popPage({animated: true});
Navigator.popToPage({id: '111', animated: true});
Navigator.popToRootPage({animated: true});
Navigator.popBack(2, {animated: true});