uniapp navigateTo 点击无法跳转的问题

注意navigateTo官方说明:

  • 页面跳转路径有层级限制,不能无限制跳转新页面
  • 跳转到 tabBar 页面只能使用 switchTab 跳转
  • 路由API的目标页面必须是在pages.json里注册的vue页面。如果想打开web url,在App平台可以使用 plus.runtime.openURL或web-view组件;H5平台使用 window.open;小程序平台使用web-view组件(url需在小程序的联网白名单中)。在hello uni-app中有个组件ulink.vue已对多端进行封装,可参考。

下面为示例目录

---
  |-pages
      |-search
      |   |-search
      |
      |-tabbar
      |   |-index
      |   |   |-index
      |   |

查找

通过fail方法打印看看

uni.navigateTo({
    url: "/pages/search/search",
    fail (error) {
        console.log(error)
    }
})

解决

1、看navigateTo中的url路径对不对

url说明:需要跳转的应用内·非 tabBar 页面·的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2',path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数

假如现在是 index 跳到 search,正确写法(不要漏了pages前面的/

uni.navigateTo({
    url: "/pages/search/search"
})

2、看 pages.json中有没设置路由

一般出现这种情况,是因为手动创建目录和文件,然后忘了在 pages.json 加上了路由路径。如果用 hbuilderx 创建文件 会自动创建路由到 pages.json

{
    "pages": [{
         "path" : "pages/search/search"
     }]
}

你可能感兴趣的:(uniapp navigateTo 点击无法跳转的问题)