Me gustaría hacer una redirección Vue.js
similar al Javascript de vainilla
window.location.href = 'some_url'
¿Cómo podría lograr esto en Vue.js?
vue.js
url-routing
vuejs2
vue-router
Jimmy Obonyo Abor
fuente
fuente
Respuestas:
Si está usando
vue-router
, debe usarrouter.go(path)
para navegar a cualquier ruta en particular. Se puede acceder al enrutador desde un componente mediantethis.$router
.De lo contrario,
window.location.href = 'some url';
funciona bien para aplicaciones que no son de una sola página.EDITAR :
router.go()
cambiado en VueJS 2.0. Puede usarrouter.push({ name: "yourroutename"})
o justorouter.push("yourroutename")
ahora para redirigir.https://router.vuejs.org/guide/essentials/named-routes.html
fuente
Uncaught ReferenceError: router is not defined
error, ¿Cómo inyectar el enrutador en el componente?this.$router.push('routename)
Según los documentos, router.push parece ser el método preferido:
fuente: https://router.vuejs.org/en/essentials/navigation.html
FYI: Webpack y configuración de componentes, aplicación de una sola página (donde importa el enrutador a través de Main.js), tuve que llamar a las funciones del enrutador diciendo:
Ejemplo: si desea redirigir a una ruta llamada "Inicio" después de que se cumpla una condición:
fuente
Solo usa:
No use vue-router, de lo contrario será redirigido a " http://yoursite.com/#!/http://siwei.me "
mi entorno: nodo 6.2.1, vue 1.0.21, Ubuntu.
fuente
Cuando está dentro de una etiqueta de script de componente, puede usar el enrutador y hacer algo como esto
fuente
Solo una ruta simple y muerta:
fuente
puede probar esto también ...
fuente
si quieres ir a otra página
this.$router.push({path: '/pagename'})
si quieres enrutar con params
this.$router.push({path: '/pagename', param: {param1: 'value1', param2: value2})
fuente
'url' es la url web que desea redirigir.
fuente
También puede usar el v-bind directamente a la plantilla como ...
la
:
es la abreviatura dev-bind
.fuente
`/path-to-route/${IdVariable}`
" O la ruta nombrada como se hace referencia aquí ( router.vuejs.org/guide/essentials/named-routes.html )::href="{ name: 'NamedRouteDeclaredAtRouter' , params: { id: idValue } }"
Si alguien quiere una redirección permanente de una página
/a
a otra/b
Podemos usar la
redirect:
opción agregada en elrouter.js
. Por ejemplo, si queremos redirigir a los usuarios siempre a una página separada cuando escribe la URL raíz o base/
:fuente
fuente
Entonces, lo que estaba buscando era solo dónde poner
window.location.href
y la conclusión a la que llegué fue que la mejor y más rápida forma de redirigir es en las rutas (de esa manera, no esperamos que se cargue nada antes de redirigir).Me gusta esto:
Quizás ayude a alguien ...
fuente
Para mantenerse en línea con su solicitud original:
Puedes hacer algo como esto:
Tenga en cuenta que esto no aprovecha el uso del enrutador de Vue, pero si desea "hacer una redirección en Vue.js similar al Javascript de vainilla", esto funcionaría.
fuente