Vue.js les paramètres de la requête
Comment puis-je récupérer les paramètres de la requête en vue.js?
http:://somesite.com?test=yay
Ne peut pas trouver un moyen de récupérer ou dois-je l'utiliser pur JS ou une bibliothèque pour cela?
- Double Possible de Comment puis-je obtenir des valeurs de chaîne de requête en JavaScript?
- Pourquoi est-ce faire de down ont voté? J'en ai besoin pour Vue.js. Si il ya une vue de la bibliothèque ou quelque chose de construit dans, il serait préférable brut js.
- Il y a probablement quelque chose en Vue Routeur qui est-il, si vous l'utilisez.
- Il n'est même pas proche d'un duplicata. vue.js c'est un cadre avec une logique spécifique, différent de vanila javascript
- Comment cela peut-il être accompli sans vue-routeur?
Vous devez vous connecter pour publier un commentaire.
Selon les docs de route de l'objet, vous avez accès à un
$route
objet de vos composants, que d'exposer ce dont vous avez besoin. Dans ce casvue-router
que ce serait un doublon, car il aura besoin d'utiliser la norme JS méthodes.vue-router
de la balise et de l'ajouter.return next({ name: 'login', query:{param1: "foo" }, });
ne fonctionne pas. à l'intérieur de la connexion d'un composant propparam1
est pas défini.Réponse plus détaillée pour aider les débutants de VueJs.
<script src="https://unpkg.com/vue-router"></script>
new Vue({ router, ... })
n'est pas valide la syntaxe.Sans vue de l'itinéraire, split, l'URL
Une autre solution https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search:
location.href
vous-même quand il estlocation.search
facilement disponibles? developer.mozilla.org/en-US/docs/Web/API/... par exemple,var querypairs = window.location.search.substr(1).split('&');
Également le fractionnement de la requête de paires nom-valeur par '=' ne fonctionne pas toujours comme vous pouvez le passer nommé les paramètres de la requête sans valeur; par exemple,?par1=15&par2
Votre code maintenant soulever une exception sur par2 en divisant par '=' entraînera tmp avec seulement 1 élément.undefined
àgetVars['par2']
.D'une autre façon (en supposant que vous utilisez
vue-router
), est de cartographier la requête de paramètre à un accessoire de votre routeur. Ensuite, vous pouvez le traiter comme tout autre accessoire de votre code du composant. Par exemple, ajouter cette route;Puis dans votre partie, vous pouvez ajouter l'accessoire comme normal;
Ensuite, il sera disponible en
this.foo
et vous pouvez faire ce que vous voulez avec (comme un observateur, etc.)url:
www.example.com?name=john&lastName=doe
Remarque: Dans
beforeRouteEnter
fonction nous ne peut pas accéder aux propriétés du composant comme:this.propertyName
.C'est pourquoi j'ai passer levm
ànext
fonction.C'est le recommented moyen pour accéder à la vue de l'instance.En fait levm
il est synonyme de vue de l'instance