🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
今天看Dcloud官网更新了个uni-app,据说一套代码三端发布(Android,iOS,微信小程序),果断一试。 ![](https://box.kancloud.cn/386597a9dde1efc35fc7ea83c2604b48_198x216.png) ## uni.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。 ## OBJECT参数说明 ![](https://box.kancloud.cn/433f60f5520543f26104db1c32b3cc56_856x268.png) 示例 ``` uni.navigateTo({ url: 'test?id=1&name=uniapp' }); ``` ``` // test.vue export default { onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数 console.log(option.id); //打印出上个页面传递的参数。 console.log(option.name); //打印出上个页面传递的参数。 } } ``` 注意:目前页面路径最多只能十层。 ## uni.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面。 ![](https://box.kancloud.cn/471c633b810219a06f92d9d8b2c39335_863x240.png) 示例 ``` uni.redirectTo({ url: 'test?id=1' }); ``` ## uni.reLaunch(OBJECT) 关闭所有页面,打开到应用内的某个页面。 ![](https://box.kancloud.cn/7619e79ff22ccb1574bb51c7f5599334_864x248.png) 示例 uni.reLaunch({ url: 'test?id=1' }); export default { onLoad: function (option) { console.log(option.query); } } ## uni.switchTab(OBJECT) 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 ![](https://box.kancloud.cn/02e3a33bf864287e6c3b4ada55f9eb46_855x207.png) 示例 pages.json ``` { "tabBar": { "list": [{ "pagePath": "index", "text": "首页" },{ "pagePath": "other", "text": "其他" }] } } ``` other.vue ``` uni.switchTab({ url: 'index' }); ``` ## uni.navigateBack(OBJECT) 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。 ![](https://box.kancloud.cn/35afdb23c1ef427aee8f7d0a58bd947e_861x98.png) 示例 // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码 // 此处是A页面 ``` uni.navigateTo({ url: 'B?id=1' }); ``` // 此处是B页面 ``` uni.navigateTo({ url: 'C?id=1' }); ``` // 在C页面内 navigateBack,将返回A页面 ``` uni.navigateBack({ delta: 2 }); ```