uni-app的路由与页面跳转

  1. uni.navigateTo(OBJECT)
    当前页面不会被销毁,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面
uni.navigateTo({
   url: "/pages/projectList/projectList"  // 携带参数可以拼接在后面 ?id=1 引用数据类型转JSON字符串
});
  1. uni.redirectTo(OBJECT)
    当前页面会被销毁,并跳转到应用内的某个页面。
uni.redirectTo({
   url: "/pages/projectList/projectList"  // 携带参数可以拼接在后面 ?id=1  引用数据类型转JSON字符串
});
  1. uni.reLaunch(OBJECT)
    关闭所有页面,并打开到应用内的某个页面(在登录失效需要重新登录的时候适合用这个)
uni.reLaunch({
   url: "/pages/projectList/projectList"  // 携带参数可以拼接在后面 ?id=1  引用数据类型转JSON字符串
});
  1. uni.switchTab(OBJECT)
    跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。(在非tabBar 页面的时候跳转tabBar 页面用到)
uni.switchTab({
   url: "/pages/projectList/projectList"  // 不可携带参数
});
  1. uni.navigateBack(OBJECT)
    关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码

// 此处是A页面
uni.navigateTo({
    url: 'B?id=1'
});

// 此处是B页面
uni.navigateTo({
    url: 'C?id=1'
});

// 在C页面内 navigateBack,将返回A页面
uni.navigateBack({
    delta: 2
});

getCurrentPages()使用示例

var pages = getCurrentPages();
var page = pages[pages.length - 1];
// #ifdef APP-PLUS
// 在APP兼容语法
var currentWebview = page.$getAppWebview();
console.log(currentWebview.id);//获得当前webview的id
console.log(currentWebview.isVisible());//查询当前webview是否可见
// #endif
  1. uni.preloadPage(OBJECT) (小编暂未使用)
    预加载页面,是一种性能优化技术。被预载的页面,在打开时速度更快。(只能兼容App和H5)

你可能感兴趣的:(uni-app的路由与页面跳转)