大家好,都吃晚饭了吗?我是Kaiqisan,是一个已经走出社恐的一般生徒
这篇文章统一讲讲taro中路由的使用方法
这个内容官网已经完完全全地写了,也可以麻烦再点点下面的链接去官网康康,我也只是简单地为了学习而记下此篇博客。 友情链接 - Taro路由
前提准备:先把该导的包导好
import Taro from '@tarojs/taro'
componentDidhide
生命周期函数// 跳转到目的页面,打开新页面
Taro.navigateTo({
url: '/pages/page/path/name',
events: {
// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
acceptDataFromOpenedPage: function(data) {
console.log(data)
},
someEvent: function(data) {
console.log(data)
}
...
},
success: function (res) {
// 通过eventChannel向被打开页面传送数据
res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
}
})
componentWillUnmount
生命周期函数// 跳转到目的页面,在当前页面打开
Taro.redirectTo({
url: '/pages/page/path/name'
})
Taro.switchTab({
url: '/index'
})
componentWillUnmount
生命周期函数Taro.reLaunch({
url: 'test?id=1'
})
Taro.navigateBack()
Taro.navigateBack({
delta: 2 // 这个参数代表返回的页数,如果返回到已经没有页面可返回了就会回到最初的主页
})
PS:以上所有的方法都是异步函数,可以后接回调函数,详细可见 taro-路由
方法较为直接
Taro.navigateTo({
url: `/pages/menu/index?id=10`,
})
多个参数
Taro.navigateTo({
url: `/pages/menu/index?id=10&name=kaiqisan`,
})
这里非常值得注意,因为在不同版本的Taro中这个方法是不同的
componentWillMount () {
console.log(this.$router.params)
}
前提准备
import Taro ,{ getCurrentInstance } from '@tarojs/taro'
代码
componentDidMount () {
console.log(getCurrentInstance().router.params) // 输出 { id: 2, type: 'test' }
}
getCurrentInstance本意为获取当前页面的实例,下图为getCurrentInstance方法获取的所有信息
app里面包含所有页面路由和window配置以及所有页面通用的注册事件
page里面包含当前页面配置信息以及当前页面的已注册事件
router里面包含了所有的路由信息
注意网上教程使用的Taro版本,一切按照官网上面的来
没有总结,网上教程也是图一乐,最重要的还是自己看官网!