javascript - 在Vue 2路由器中设置嵌套可选参数

标签 javascript vue.js vuejs2 vue-router

我正在创建一个搜索引擎,其中包含用户可以选择的多个过滤器以及查询。所有这些都是可选的,并且添加到过滤的结果集中。

因此所有这些情况都是可能的,并且可以正确存储在关键字对象中:

  • 使用查询进行搜索
  • 按国家/地区搜索(不指定任何查询)
  • 按类型搜索(不指定任何查询)
  • 使用国家/地区和类型搜索查询
  • ...

使用 Vue Router 处理此问题的最佳方法是什么?我希望使用选择的任何过滤器来更新搜索路线。

据我所知,我不能使用多个可选参数,除非我指定所有可能的组合(这有点愚蠢),例如:

export const routes = [
{ path: '/search', name: 'search', component: Search, children: [
    { path: 'query/:query, component: Search },
    { path: 'type/:type', component: Search },
    { path: 'country/:country', component: Search },
    ...
]},

...我没有看到任何其他方法来解决这个问题。最好的选择是什么?

最佳答案

一种选择是使用查询参数,因此您的 URL 将如下所示:

/search?country=sire&type=middleearth

您可以从 $route.query 访问这些内容.

关于javascript - 在Vue 2路由器中设置嵌套可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42592047/

相关文章:

javascript - 当我导出调用 func B 和 C 的函数 A 而没有显式导出 B 和 C 时,技术上会发生什么情况?

javascript - 如何将变量从 nodejs 发送到所有连接的客户端?

javascript - vue-属性-装饰器 : Prop being mutated?

javascript - 如何使用 Vue js 2 在组件子组件链上冒泡事件?

JavaScript 表单验证而不发出警报

javascript - 道场错误: defineAlreadyDefined

laravel - npm 运行成功但终端进程停止(系统限制)

javascript - 检测Vue.js中跨域iframe内的内容变化?

javascript - 如何在页面加载时调用 vue.js 函数

vuejs2 - 如何使用 Vue Select Library 在 vue-select 字段中显示多个标签