Gostaria de fazer um redirecionamento Vue.js
semelhante ao javascript de baunilha
window.location.href = 'some_url'
Como eu consegui isso no Vue.js?
vue.js
url-routing
vuejs2
vue-router
Jimmy Obonyo Abor
fonte
fonte
Respostas:
Se você estiver usando
vue-router
, você deverouter.go(path)
navegar para qualquer rota específica. O roteador pode ser acessado de dentro de um componente usandothis.$router
.Caso contrário,
window.location.href = 'some url';
funciona bem para aplicativos que não são de uma única página.EDIT :
router.go()
alterado no VueJS 2.0. Você pode usarrouter.push({ name: "yourroutename"})
ourouter.push("yourroutename")
agora mesmo para redirecionar.https://router.vuejs.org/guide/essentials/named-routes.html
fonte
Uncaught ReferenceError: router is not defined
error, Como injetar roteador no componente?this.$router.push('routename)
De acordo com os documentos, router.push parece o método preferido:
fonte: https://router.vuejs.org/en/essentials/navigation.html
FYI: Webpack e configuração de componentes, aplicativo de página única (onde você importa o roteador através do Main.js), tive que chamar as funções do roteador dizendo:
Exemplo: se você deseja redirecionar para uma rota chamada "Casa" depois que uma condição é atendida:
fonte
Apenas use:
Não use vue-router, caso contrário você será redirecionado para " http://yoursite.com/#!/http://siwei.me "
meu ambiente: nó 6.2.1, vue 1.0.21, Ubuntu.
fonte
Quando dentro de uma tag de script de componente, você pode usar o roteador e fazer algo parecido com isto
fonte
Apenas um roteamento simples:
fonte
pode tentar isso também ...
fonte
se você deseja direcionar para outra página
this.$router.push({path: '/pagename'})
se você deseja rotear com parâmetros
this.$router.push({path: '/pagename', param: {param1: 'value1', param2: value2})
fonte
'url' é o URL da web que você deseja redirecionar.
fonte
Você também pode usar o v-bind diretamente no modelo como ...
o
:
é a abreviatura dev-bind
.fonte
`/path-to-route/${IdVariable}`
" Ou a rota nomeada conforme aqui referida ( router.vuejs.org/guide/essentials/named-routes.html )::href="{ name: 'NamedRouteDeclaredAtRouter' , params: { id: idValue } }"
Se alguém quiser redirecionamento permanente de uma página
/a
para outra página/b
Podemos usar a
redirect:
opção adicionada norouter.js
. Por exemplo, se queremos redirecionar os usuários sempre para uma página separada quando ele digita o URL raiz ou base/
:fonte
fonte
Então, o que eu estava procurando era apenas onde colocar
window.location.href
e a conclusão que cheguei foi que a melhor e mais rápida maneira de redirecionar é nas rotas (dessa forma, não esperamos que nada carregue antes de redirecionar).Como isso:
Talvez isso ajude alguém ..
fonte
Para acompanhar a sua solicitação original:
Você pode fazer algo assim:
Observe que isso não tira proveito do uso do roteador do Vue, mas se você quiser "fazer um redirecionamento no Vue.js semelhante ao javascript vanilla", isso funcionaria.
fonte