vue的路由跳转带参数很简单,不过有的时候由于业务需求,需要传对象或很长的数据。
那query就无法满足需求了。
再或者一味的使用state来传递数据又对搜索引擎爬虫不友好。
这个方法同时使用以上两种方式来传递数据,收藏、备查。
common/index.js
import router from '../router'
import { useRoute } from 'vue-router'
import { toRefs } from 'vue'
const go = (name, data = {}, query = {}) => {
//入参:路由名,state数据,query数据
router.push({ name: name, state: data, query: query })
}
const getRouter = () => {
//出参:路由名,state数据,query数据
const route = useRoute()
let r = toRefs(route)
return { name: r.name.value, state: history.state, query: r.query.value }
}