vue.js - 如何让 vue 路由器正确地将对象推送到 URL 查询字符串,而不是“[Object Object]”?
问题描述
我花了几天的时间试图弄清楚这一点,但我很难过。具体来说,我说的是filters
密钥,它一直显示为filters=%5Bobject%20Object%5D
.
这是我当前不需要的查询字符串的示例:
?items_page=1&items_per_page=50&sort_by=created_at&sort_dir=desc&filters=%5Bobject%20Object%5D
我的目标是使用与此示例相同的概念来显示查询字符串:
?filters[event.since][0][type]=eq&filters[event.since][0][value]=all&filters[error.status][0][type]=eq&filters[error.status][0][value]=closed&sort=last_seen
这是我在进行 axios 调用之前的代码片段:
@$router.push
query:
items_page: page
items_per_page: @itemsPerPage
sort_by: @sortBy
sort_dir: @sortDir
filters: @filtersComputed
我@filtersComputed
从 VueDevTools 中获得的是:{"auction_id":["1","2"],"consignor_id":["20418"]}
我尝试过的事情:
- 使用
JSON.stringify(@filtersComputed)
- 虽然这很有帮助,但这不是 Vue Router文档如何做到的,我遇到了问题。
我在 vue-router 3.0.6 和 vue 2.5.17 上。如果有任何其他支持信息,请告诉我,我会提供。
编辑1:
@skirtle 提到我的示例与我的实际数据无关,所以这是我想要获得类似以下内容的查询字符串。我并不挑剔,我只需要能够看到 URL 中的数据,以便人们可以相互共享搜索结果:
?items_page=1&items_per_page=50&sort_by=created_at&sort_dir=desc&filters[auction_id]=1&filters[auction_id]=2&filters[consignor_id]=20418
编辑2:
如果我使用,这就是查询字符串的样子JSON.stringify(@filtersComputed)
:
?items_page=1&items_per_page=50&sort_by=created_at&sort_dir=desc&filters=%7B%22auction_id%22%3A%5B%221%22,%222%22%5D,%22consignor_id%22%3A%5B%2220418%22%5D%7D
解决方案
推荐阅读
- python - MySQLdb._exceptions.OperationalError ('1046, No database selected') - 烧瓶到 mySQL 连接错误
- c++ - 仅在使用多个标头时 Eclipse C++ 多个主要错误
- asp.net - 如何在不先获取代码的情况下仅使用 ADAL 库获取 userInfo
- c# - BankAccount 不包含“BankAccount”的定义
- magento2 - Magento2 缩小 Javascript 谷歌页面速度洞察
- inno-setup - 如何从用户指定的目录复制源文件?
- oracle - 总是返回 X 行
- r - 如何使用 ggplot2 绘制价格范围列表
- python - 使用 matplotlib 绘制多个同步动画子图
- javascript - 如何确保多个随机生成的颜色在色调上不会太接近?