Vue 两种导航方式

目录

一、声明式导航

二、编程式导航

三、两句话总结


一、声明式导航

  1. 传参跳转:
html 复制代码
<router-link :to="/user?name=CHEEMS&id=114514">
  Query传参
</router-link>

<router-link :to="/user?参数名1=参数值1&参数名2=参数值2&...">
  Query传参
</router-link>
  1. 接参:
javascript 复制代码
export default {
  created() {
    console.log(this.$route.query); // { id: "114514", name: "CHEEMS" }
    console.log(this.$route.query.id); // "114514"
    console.log(this.$route.query.name); // "CHEEMS"
  }
}

二、编程式导航

  1. 传参跳转:
html 复制代码
<router-link :to="/user/114514/CHEEMS">
  Params传参
</router-link>

<router-link :to="/user/参数值1/参数值2/...">
  Params传参
</router-link>

需要额外配置路由:

javascript 复制代码
// 路由配置
routes: [
    { path: '/home/:id/:name', component: Home },
    { path: '/user/:id/:name?', component: User } // 参数名后面加个?表示参数可选
  ]

// 路由配置
routes: [
    { path: '/home/:参数名1/:参数名2/:...', component: Home },
    { path: '/user/:参数名1/:参数名2?/:...', component: User } // 参数名后面加个?表示参数可选
  ]
  1. 接参:
javascript 复制代码
export default {
  created() {
    console.log(this.$route.params); // { id: "114514", name: "CHEEMS" }
    console.log(this.$route.params.id); // "114514"
    console.log(this.$route.params.name); // "CHEEMS"
  }
}

三、两句话总结

  • Query适合传临时参数,如搜索、分页、筛选等。
  • Params适合传固定资源路径,如用户ID、文章标题等。
相关推荐
Coder_Boy_2 分钟前
前端和后端软件系统联调经典问题汇总
java·前端·驱动开发·微服务·状态模式
PieroPC8 分钟前
NiceGUI .classes() 完整列表教程
前端
月巴月巴白勺合鸟月半8 分钟前
一个医学编码的服务
服务器·前端·javascript
ycgg13 分钟前
深入理解 DOM 的 dispatchEvent API
前端
方也_arkling14 分钟前
【JS】定时器的使用(点击开始计时,再次点击停止计时)
开发语言·前端·javascript
JS_GGbond15 分钟前
Vue原型链:让你的组件继承“超能力”
前端·vue.js
乆夨(jiuze)17 分钟前
不是所有的链式调用,都是Promise函数,Promise 规范及其衍生的 Promise/A+ 规范
前端·javascript·vue.js
锦瑟弦音23 分钟前
跑酷游戏开发笔记3 && 游戏开始场景 cocos 3.8.7
javascript·笔记·游戏
ttod_qzstudio32 分钟前
Vue 3 的魔法:用 v-bind() 让 CSS 爱上 TypeScript 常量
css·vue.js·typescript
MoonBit月兔32 分钟前
海外开发者实践分享:用 MoonBit 开发 SQLC 插件(其二)
开发语言·javascript·数据库·redis·mysql·moonbit