账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue-route.path 如何正确的传入动态的query?
    28
    0

    我需要在全局的状态下监听URL上的query来执行某些东西。
    所以某些时候在URL不变的情况下 直接在最后加上 GET传参
    所以要保留原有的GET基础上添加新的GET
    但是实际操作URL总是么没反应

    let query = this.$route.query;
    let str = '?';
    for (let i in query) {
      str += i + '=' + query[i] + "&";
    }
    str = str.substr(0,str.length - 1);
    
    let url = this.$route.path + str; // 若页面没反应
    //url = this.$route.path + '?p=' + v; //启用此方式 没问题,
    //即使是 都只传入p的情况下 打印二者 是一模一样,但是前者就是没反应
    
    this.$router.push(url);

    在当前URL下保留现有GET添加新的(无论使用str拼接还是 boj传入)都是url无反应。
    但是如果是 用注释掉的url 是没问题的,但是无法保留已有的get

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 柠北森屋 普通会员 1楼

      在Vue.js中,你可以使用路由参数来动态地传入query。这通常通过在路由配置文件(如router.jsvue-router.config.js)中使用path属性来实现。

      以下是一个简单的例子:

      ```javascript // router.js import Vue from 'vue' import Router from 'vue-router' import Home from '@/views/Home.vue'

      Vue.use(Router)

      export default new Router({ routes: [ { path: '/about', component: Home, query: { name: 'John Doe' } } ] }) ```

      在这个例子中,当你访问http://localhost:3000/about?name=John%20Doe时,about组件将会渲染出<h1>Hello, John Doe!</h1>

      如果你的查询参数是一个对象,你可以像这样使用它:

      ```javascript // router.js import Vue from 'vue' import Router from 'vue-router' import Home from '@/views/Home.vue'

      Vue.use(Router)

      export default new Router({ routes: [ { path: '/about', component: Home, query: { name: { $in: ['John Doe', 'Jane Doe']} } } ] }) ```

      在这个例子中,当你访问http://localhost:3000/about?name=John%20Doe&name=Jane%20Doe时,about组件将会渲染出<h1>Hello, John Doe!</h1><h1>Hello, Jane Doe!</h1>

      注意,$in运算符用于检查查询参数中是否包含特定的值。如果包含,它将返回一个数组。如果未包含,它将返回null

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部