访问 VueJS 中的查询字符串

Posted

技术标签:

【中文标题】访问 VueJS 中的查询字符串【英文标题】:Access the query string in VueJS 【发布时间】:2018-03-05 13:56:11 【问题描述】:

我刚刚开始使用 VueJS,我真的很喜欢它! :) 我想将查询字符串中的值保存到 VueJS 变量中——这在把手 + express 中非常简单,但在 Vue 中似乎更难。

基本上我正在寻找类似于 -

http://localhost:8080/?url=http%3A%2F%2Fwww.fake.co.uk&device=all


const app = new Vue(
    ...
    data: 
        url: req.body.url,
        device: req.body.device
    
    ...
);

Google 似乎将我指向 vue-router,但我不确定这是否真的是我需要的/如何使用它。我目前正在使用 express 来处理我的后端逻辑/路由。

谢谢,

奥莉

【问题讨论】:

How can I get query string values in javascript?的可能重复 【参考方案1】:

您可以将所有参数放入 url 的哈希中,例如:

window.location.hash='your data here you will have to parse to'

它会改变你的网址——#之后的部分

或者,如果您坚持使用Change URL parameters 中的一种解决方案将它们作为查询参数(? 之后发生的事情)

【讨论】:

【参考方案2】:

您可以使用URLSearchParams 和this polyfill 来确保它适用于大多数网络浏览器。

// Assuming "?post=1234&action=edit"
var urlParams = new URLSearchParams(window.location.search);

console.log(urlParams.has('post')); // true
console.log(urlParams.get('action')); // "edit"
console.log(urlParams.getAll('action')); // ["edit"]
console.log(urlParams.toString()); // "?post=1234&action=edit"
console.log(urlParams.append('active', '1')); // "?post=1234&action=edit&active=1"

来源: https://davidwalsh.name/query-string-javascript

URLSearchParamshttps://developer.mozilla.org/en-US/docs/Web/API/URLSearchParamshttps://github.com/WebReflection/url-search-params/blob/master/build/url-search-params.js

另请参阅:https://***.com/a/12151322/194717

【讨论】:

以上是关于访问 VueJS 中的查询字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何更改在与 Vuejs 中的 search_key 匹配的字符串中找到的子字符串的文本颜色?

使用 http 端点访问 lambda 中的 HTTP 请求(标头、查询字符串、cookie、正文)对象

如何添加一个新的数字(字符串)键并将其余键移动 +1 而不会破坏 Vuejs 数据中的反应性

如何计算访问查询中 SQL Server ntext(即备忘录)字段中的字符数?

访问 Compojure 查询字符串

Vue JS - 如何限制输入字段中的特殊字符?