Как я могу получить параметры запроса в Vue.js?
Например http://somesite.com?test=yay
.
Не можете найти способ получить или мне нужно использовать чистый JS или какую-то библиотеку для этого?
javascript
vue.js
vue-router
url-parameters
обкрадывать
источник
источник
Ответы:
В соответствии с документацией объекта маршрута у вас есть доступ к
$route
объекту из ваших компонентов, которые предоставляют то, что вам нужно. В таком случаеисточник
vue-router
это действительно будет дубликатом, так как ему нужно будет использовать стандартные методы JS.vue-router
тег и добавил его.return next({ name: 'login', query:{param1: "foo" }, });
не работает. в компоненте входа в систему опораparam1
не определена.Без vue-route, разделить URL
Другое решение https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search :
источник
location.href
себя, когда есть вlocation.search
наличии? developer.mozilla.org/en-US/docs/Web/API/… Например,var querypairs = window.location.search.substr(1).split('&');
разделение пар «имя-значение» запроса на «=» не всегда будет работать, поскольку вы также можете передавать именованные параметры запроса без значения; например,?par1=15&par2
ваш код теперь вызовет исключение для par2, так как разбиение по '=' приведет к tmp только с 1 элементом.undefined
вgetVars['par2']
.Более подробный ответ в помощь новичкам VueJS:
И сам код:
источник
<script src="https://unpkg.com/vue-router"></script>
new Vue({ router, ... })
неверный синтаксисДругой способ (при условии, что вы используете
vue-router
), это сопоставить параметр запроса с подпоркой в вашем маршрутизаторе. Затем вы можете обращаться с ним как с любой другой опорой в коде вашего компонента. Например, добавьте этот маршрут;Затем в свой компонент вы можете добавить опору как обычно;
Тогда он будет доступен как
this.foo
и вы можете делать с ним все что угодно (например, установить наблюдателя и т. Д.)источник
На сегодняшний день правильный путь в соответствии с документацией по динамической маршрутизации :
вместо того
источник
query
чтобы получить запросы от URL. Из документов: В дополнение к $ route.params объект $ route также предоставляет другую полезную информацию, такую как $ route.query (если в URL есть запрос)URL:
www.example.com?name=john&lastName=doe
Примечание: В
beforeRouteEnter
функции мы не можем получить доступ к свойствам компоненты , как:this.propertyName
.Т Вот почему я пройтиvm
кnext
function.It является recommented способом доступа к вю instance.Actuallyvm
это означает вю , напримеристочник
Если ваш URL выглядит примерно так:
Где «123» - это параметр с именем «id» (например, url, например, что-то /: id), попробуйте:
источник
Вы можете получить с помощью этой функции.
источник
Если ваш сервер использует php, вы можете сделать это:
Просто работает.
источник