Vue3+ts实现页面跳转及参数传递

## 列表页

<script lang="ts" setup>
import { reactive, toRefs } from 'vue'
// 1 引入useRouter路由信息方法
import { useRouter } from 'vue-router'
// 2 获取实例
const router = useRouter()

const gotoDetail  = (index: string) =>  {
  router.push({
    path: '/demo2',
    query: {
      id: index
    }
  })
}

</script>

## 详情页

<script lang="ts" setup >
import {ref, reactive, toRefs,onMounted} from 'vue'
// 1 引入useRouter路由信息方法
import { useRoute } from 'vue-router'
// 2 获取实例
const route = useRoute()

const { id,name } = route.query

      // 获取列表
  const getDetail = async (id: string) => {
    try {
      const { data } = await GetDetail(id)
      console.log(data)
      msg.value = data
    } catch (error) {
      showFailToast("请求失败")
    }
  }
  
  onMounted( async () => {
      const { id } = route.query
      console.log("messageId"+id+",name"+name)
      const res = await getDetail(id+"")
   })
  
  </script>

useRouter():

router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象中是一个全局的对象,他包含了所有的路由包含了许多关键的对象和属性。

router.push({path:‘home’});本质是向history栈中添加一个路由,在我们看来是 切换路由,但本质是在添加一个history记录,  query: {id: index} 绑定参数。

useRoute()

route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象,可以获取对应的name,path,params,query等:

query: 对象,包含路由中查询参数的键值对。 例如,对于 /detail?id=1 ,通过route.query可以获取到id的值

onMounted

是一个生命周期钩子函数,用于在组件挂载到 DOM 上之后执行一些操作,onMounted 钩子是通过 setup函数来使用的。<script setup >是一种语法糖写法,比普通的 <script> 语法更有优势。

相关推荐

  1. Vue3+ts实现页面参数传递

    2023-12-12 16:24:07       170 阅读
  2. uniapp页面如何传递接收对象参数

    2023-12-12 16:24:07       44 阅读
  3. [Vue3]-router实现基本的页面

    2023-12-12 16:24:07       30 阅读
  4. Vue3+Ts项目——登录页面到首页

    2023-12-12 16:24:07       42 阅读
  5. vue3路由传递参数: params传参接收不到?

    2023-12-12 16:24:07       16 阅读
  6. vue3 + ts,如何获取路由传递参数

    2023-12-12 16:24:07       24 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-12 16:24:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-12 16:24:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-12 16:24:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-12 16:24:07       20 阅读

热门阅读

  1. pta团体程序设计天梯赛——练习集(1-10题)

    2023-12-12 16:24:07       39 阅读
  2. 数据库基础DDL

    2023-12-12 16:24:07       41 阅读
  3. mac 安装anaconda和lightgbm

    2023-12-12 16:24:07       42 阅读
  4. TCP协议

    TCP协议

    2023-12-12 16:24:07      31 阅读
  5. YOLOv6 学习笔记

    2023-12-12 16:24:07       43 阅读
  6. Git 的基本概念和使用方式

    2023-12-12 16:24:07       36 阅读
  7. 光伏设计方案:实现清洁能源的未来

    2023-12-12 16:24:07       38 阅读
  8. Python基础知识学习

    2023-12-12 16:24:07       35 阅读
  9. Qt基础-修改Qt Creator界面字体

    2023-12-12 16:24:07       37 阅读
  10. 【Vue】使用moent转换GMT时间格式为北京时间

    2023-12-12 16:24:07       43 阅读
  11. 对接海康明眸门禁设备-查询人员信息

    2023-12-12 16:24:07       46 阅读
  12. 网络安全中的加解密问题

    2023-12-12 16:24:07       34 阅读