vue多参传参

本文介绍了如何在前后端应用中使用JSON格式的参数传递,展示了letparams对象的构建与路径跳转,以及接收页面参数的实例。重点在于前端调用后端接口的实践和参数解析技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//传
  let params = {
        order_num: item.order_num,
        add_num: item.add_num,
        add_rate: item.add_rate,
        sms_num: item.sms_num,
        ai_num: item.ai_num
      }
      
    let path = '/intelligent/intelligentStaile?id=' + item.id + '&item=' + JSON.stringify(params)
      this.$router.push({
        path
      })

//接
  mounted () {
   let topWorkList = JSON.parse(this.$route.query.item)
let id = JSON.parse(this.$route.query.id)
  },


//或者 传到要跳转页面的参数
let params = {
					goods_id: goods_id,
					sku_id: sku_id,
					num: goods_num
				}
				uni.navigateTo({
					url: '/packages/order/confirm?q=' + encodeURIComponent(JSON.stringify(params))
				})
//接收页面传来的参
onLoad(options) {
			this.params = JSON.parse(decodeURIComponent(options.item))
},

Vue3 中通过路由传递参数并在刷新页面时保留这些参数的功能是非常常见的需求。以下是具体的实现步骤以及原理: ### 实现过程 #### 1. 安装并配置 `vue-router` 首先需要安装 Vue Router 并在项目中初始化它。 ```bash npm install vue-router@next ``` 然后创建路由器实例,例如在一个文件 `router/index.js` 中设置如下内容: ```javascript import { createRouter, createWebHistory } from 'vue-router'; const routes = [ { path: '/example/:id', // 使用动态路径参数 :id 来接收数据 name: 'Example', component: () => import('@/views/ExampleView.vue') } ]; export default createRouter({ history: createWebHistory(), routes, }); ``` 接着将该路由器挂载到应用上。 #### 2. 路由跳转带 可以通过种方式进行路由传参操作: **使用 `this.$router.push()` 进行导航** ```javascript // 假设当前组件内部调用了这个函数进行跳转,并携带了 id 参数 this.$router.push({ name: "Example", // 目标路由名称 params: { id: this.someId }, // 动态参数对象 }) ``` 注意这里的 `params` 只能用于命名路由(`name`)的方式;如果是直接指定字符串形式的 URL,则需采用查询字符串的形式传值。 #### 3. 刷新页面后的参数获取 当用户手动刷新浏览器窗口之后,由于 URL 已经包含了所需的参数信息(如 `/example/456`),因此只需要正常解析即可得到之前传递过来的数据。 在目标组件 ExampleView.vue 的 `<script>` 部分编写以下代码片段读取路由中的参数: ```javascript <script setup> import { onMounted, ref } from 'vue' import { useRoute } from 'vue-router' const route = useRoute() let paramValue = ref('') onMounted(() => { if (route.params.id) { console.log(route.params.id); // 打印出从地址栏拿到的具体 ID 数值 paramValue.value = route.params.id; } }) </script> <template> <div>{{paramValue}}</div> <!-- 显示接收到的ID --> </template> ``` 上述例子展示了如何利用 Composition API 和响应式变量存储及显示路由匹配结果中的特定字段。 如果希望支持更复杂的场景比如加载服务端API资源等可以考虑结合生命周期钩子完成更高级别的功能构建。 --- ### 注意事项 - 如果使用的是 query string 格式的参数,在访问的时候应该改用 `route.query.<key>` 形式去拿对应的键名下的数值; - 对于某些特殊情况下若不想让参数暴露在外则可以选择其他机制像状态管理工具 Vuex 或者 Pinia 存储临时全局共享的状态代替显式地把所有东西都放在URL里边。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呱嗨喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值