Je voudrais faire une redirection Vue.js
similaire au javascript vanille
window.location.href = 'some_url'
Comment pourrais-je y parvenir dans Vue.js?
vue.js
url-routing
vuejs2
vue-router
Jimmy Obonyo Abor
la source
la source
Réponses:
Si vous utilisez
vue-router
, vous devez utiliserrouter.go(path)
pour naviguer vers un itinéraire particulier. Le routeur est accessible depuis un composant en utilisantthis.$router
.Sinon,
window.location.href = 'some url';
fonctionne très bien pour les applications non monopages.EDIT :
router.go()
changé dans VueJS 2.0. Vous pouvez utiliserrouter.push({ name: "yourroutename"})
ou tout simplementrouter.push("yourroutename")
pour rediriger.https://router.vuejs.org/guide/essentials/named-routes.html
la source
Uncaught ReferenceError: router is not defined
erreur, comment injecter le routeur dans le composant?this.$router.push('routename)
Selon la documentation, router.push semble être la méthode préférée:
source: https://router.vuejs.org/en/essentials/navigation.html
FYI: Configuration du Webpack et des composants, application d'une seule page (où vous importez le routeur via Main.js), j'ai dû appeler les fonctions du routeur en disant:
Exemple: si vous souhaitez rediriger vers une route appelée "Home" après qu'une condition soit remplie:
la source
utilisez simplement:
N'utilisez pas vue-router, sinon vous serez redirigé vers " http://yoursite.com/#!/http://siwei.me "
mon environnement: node 6.2.1, vue 1.0.21, Ubuntu.
la source
À l'intérieur d'une balise de script de composant, vous pouvez utiliser le routeur et faire quelque chose comme ça
la source
Juste un routage très simple:
la source
peut essayer ça aussi ...
la source
si vous souhaitez vous diriger vers une autre page
this.$router.push({path: '/pagename'})
si vous voulez router avec des paramètres
this.$router.push({path: '/pagename', param: {param1: 'value1', param2: value2})
la source
«url» est l'URL Web que vous souhaitez rediriger.
la source
Vous pouvez également utiliser le v-bind directement sur le modèle comme ...
l'
:
est l'abréviation dev-bind
.la source
`/path-to-route/${IdVariable}`
" Ou la route nommée comme ici référencée ( router.vuejs.org/guide/essentials/named-routes.html )::href="{ name: 'NamedRouteDeclaredAtRouter' , params: { id: idValue } }"
Si quelqu'un souhaite une redirection permanente d'une page
/a
vers une autre page/b
Nous pouvons utiliser l'
redirect:
option ajoutée dans lerouter.js
. Par exemple, si nous voulons toujours rediriger les utilisateurs vers une page distincte lorsqu'il tape l'url racine ou de base/
:la source
la source
Donc, ce que je cherchais était seulement où mettre le
window.location.href
et la conclusion à laquelle je suis arrivé était que le moyen le meilleur et le plus rapide de rediriger est dans les routes (de cette façon, nous n'attendons rien pour charger avant de rediriger).Comme ça:
Peut-être que cela aidera quelqu'un.
la source
Pour rester en phase avec votre demande initiale:
Vous pouvez faire quelque chose comme ceci:
Notez que cela ne profite pas de l'utilisation du routeur de Vue, mais si vous voulez "faire une redirection dans Vue.js similaire au javascript vanilla", cela fonctionnerait.
la source