Vue3路由跳转携带参数查询,并调用接口

使用router.push进行路由跳转,进行参数携带,并调用接口,并在跳转过去的页面通过watch监听(使用vue route和watch)

  1. 在这个页面想通过点击不同的按钮进行跳转至不同页面,并通过传递的不同type值,让后台查出不同的数据
  2. 先给按钮加入点击事件
      <div @click="handleClick1">
           点击跳转1
      </div>
  3. 在下方定义route再进行route.push的跳转
    function handleClick1() {
      router.push({
        path: '想要跳转页面的路由',
    
        // 这里的type是动态的,根据type来判断跳转到哪个页面
    
        query: { type: '00' },
      })
      setTimeout(() => {
        // getXXXList是你跳转过去页面需要调用的接口,一般是列表接口
        // 这里的参数type是要给后台传递的参数,后台不同的参数值进行查询
        
        getXXXXList({ pageNum: 1, pageSize: 10, type: '00' })
      }, 1000)
    }

  4. 跳转过去,F12网络中调用了这个接口,负载中带有type:00的参数

  5. 在你跳转过去的页面中使用watch监听

    const route = useRoute()
    watch(
     // 监听路由中的参数type
      () => route.query.type,
      async (newType) => {
        queryParams.type = newType
        getList()
      },
        //   其中的immediate属性设置为true。
        // 这意味着当组件被创建时,Vue会立即渲染组件,并且在数据发生变化时也会立即更新组件的渲染结果。
      { immediate: true },
    )

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue前端使用前端路由进行页面跳转,而后端路由主要用于处理API请求。 要在Vue进行前端路由跳转,你可以使用Vue Router。首先,确保你已经安装了Vue Router。然后,在你的Vue项目,创建一个router.js文件(或者你可以选择其他名称),并在其定义你的路由。 下面是一个简单的示例: ```javascript import Vue from 'vue'; import VueRouter from 'vue-router'; Vue.use(VueRouter); // 定义组件 const Home = { template: '<div>Home</div>' }; const About = { template: '<div>About</div>' }; // 定义路由 const routes = [ { path: '/', component: Home }, { path: '/about', component: About } ]; // 创建路由实例 const router = new VueRouter({ mode: 'history', routes }); // 在Vue实例使用路由 new Vue({ router }).$mount('#app'); ``` 在上述示例,定义了两个组件:Home和About。然后,在routes数组定义了两个路由,分别对应于根路径和/about路径。最后,创建了一个VueRouter实例,并将其传递给Vue实例。 接下来,你可以在Vue模板使用<router-link>组件来进行跳转,例如: ```html <router-link to="/">Home</router-link> <router-link to="/about">About</router-link> ``` 你还可以在Vue组件使用编程式导航来进行跳转,例如: ```javascript // 在某个方法调用 this.$router.push('/') this.$router.push('/about') ``` 这样,当用户点击<router-link>或者调用$router.push()时,Vue会根据相应的路由配置进行跳转。 希望这可以帮助到你!如果有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值